Java 类play.mvc.Http.Request 实例源码

项目:sunbird-lms-service    文件:BaseController.java   
/**
 * This method will create common response for all controller method
 * 
 * @param response Object
 * @param key String
 * @param request play.mvc.Http.Request
 * @return Result
 */
public Result createCommonResponse(Object response, String key, play.mvc.Http.Request request) {

  if (response instanceof Response) {
    Response courseResponse = (Response) response;
    if (!ProjectUtil.isStringNullOREmpty(key)) {
      Object value = courseResponse.getResult().get(JsonKey.RESPONSE);
      courseResponse.getResult().remove(JsonKey.RESPONSE);
      courseResponse.getResult().put(key, value);
    }
    return Results.ok(
        Json.toJson(BaseController.createSuccessResponse(request, (Response) courseResponse)));
  } else {
    ProjectCommonException exception = (ProjectCommonException) response;
    return Results.status(exception.getResponseCode(),
        Json.toJson(BaseController.createResponseOnException(request, exception)));
  }
}
项目:maf-desktop-app    文件:MafHttpRequestHandler.java   
@Override
public Action<Void> createAction(Request request, Method actionMethod) {

    return new Action.Simple() {
        @Override
        public Promise<Result> call(Context ctx) throws Throwable {
            // Inject the required services into the context
            injectCommonServicesIncontext(ctx);
            final Language language = new Language(request.getQueryString("lang"));

            if (messagesPlugin.isLanguageValid(language.getCode())) {
                Logger.debug("change language to: " + language.getCode());
                ctx.changeLang(language.getCode());
                // Update the CAS language cookie which is relying on Spring
                // framework (not really solid yet works)
                Utilities.setSsoLanguage(ctx, language.getCode());
            }

            return delegate.call(ctx);

        }
    };

}
项目:play-sentry    文件:PlayHttpRequestInterfaceBinding.java   
@Override
public void writeInterface(JsonGenerator generator, PlayHttpRequestInterface playHttpInterface) throws IOException {
    Request request = playHttpInterface.getRequest();

    generator.writeStartObject();
    generator.writeStringField(URL, buildUrl(request));
    generator.writeStringField(METHOD, request.method());

    generator.writeFieldName(DATA);
    writeData(generator, request);

    generator.writeStringField(QUERY_STRING, extractQueryString(request));

    generator.writeFieldName(COOKIES);
    writeCookies(generator, request.cookies());

    generator.writeFieldName(HEADERS);
    writeHeaders(generator, request.headers());

    generator.writeFieldName(ENVIRONMENT);
    writeEnvironment(generator, request);

    generator.writeEndObject();
}
项目:wbi    文件:ServerConf.java   
private static ClientConf.Configuration loadConfiguration(Request request) {
    ClientConf.Configuration configuration = new ClientConf.Configuration();

    configuration.set(
        ClientConf.Setting.INDEX_URL,
        routes.Application.index().url());

    configuration.set(
        ClientConf.Setting.ASSETS_URL,
        controllers.routes.Assets.at("").url());

    configuration.set(
        ClientConf.Setting.RPC_SERVICE_HTTP_URL,
        controllers.rpc.routes.HTTPController.call().url());

    configuration.set(
        ClientConf.Setting.RPC_SERVICE_WS_URL,
        controllers.rpc.routes.WebSocketController.socket().webSocketURL(
            request));

    return configuration;
}
项目:PlayTraining    文件:ApplicationTest.java   
@Test
public void renderTemplate() throws InstantiationException, IllegalAccessException {
    Request requestMock = mock(Request.class);

    Context.current.set(new Context(1l, mock(RequestHeader.class), requestMock, //
            Collections.<String, String>emptyMap(), // sessionData
            Collections.<String, String>emptyMap(), // flashData
            Collections.<String, Object>emptyMap()));

    when(requestMock.username()).thenReturn("nom_de_test");

    Html html = views.html.index.render("Your new application is ready.");
    assertThat(contentType(html)).isEqualTo("text/html");
    assertThat(contentAsString(html)).contains("Your new application is ready.");
    assertThat(contentAsString(html)).contains("Bonjour nom_de_test!");
}
项目:PlayTraining    文件:ApplicationTest.java   
@Test
public void renderTemplate() throws InstantiationException, IllegalAccessException {
    Request requestMock = mock(Request.class);

    Context.current.set(new Context(1l, mock(RequestHeader.class), requestMock, //
            Collections.<String, String>emptyMap(), // sessionData
            Collections.<String, String>emptyMap(), // flashData
            Collections.<String, Object>emptyMap()));

    when(requestMock.username()).thenReturn("nom_de_test");

    Html html = views.html.index.render("Your new application is ready.");
    assertThat(contentType(html)).isEqualTo("text/html");
    assertThat(contentAsString(html)).contains("Your new application is ready.");
    assertThat(contentAsString(html)).contains("Bonjour nom_de_test!");
}
项目:vibe-java-platform    文件:PlayServerWebSocket.java   
public PlayServerWebSocket(Request request, In<String> in, Out<String> out) {
    this.request = request;
    this.out = out;
    // TODO https://github.com/vibe-project/vibe-java-platform/issues/4
    // Supports text frame only for now
    in.onMessage(new Callback<String>() {
        @Override
        public void invoke(String message) throws Throwable {
            textActions.fire(message);
        }
    });
    in.onClose(new Callback0() {
        @Override
        public void invoke() throws Throwable {
            closeActions.fire();
        }
    });
}
项目:play-profiler    文件:ProfilerPlugin.java   
private void displayGae(String name)
{
    Request request = Request.current();
    if (request != null)
    {
        Header header = request.headers.get("X-TraceUrl");
        if (header != null)
        {
            String value = header.value();
            if (StringUtils.isNotEmpty(value))
            {
                // Logger.info("profiler: " + name + " " + value);
            }
        }

    }
}
项目:play-profiler    文件:ProfilerPlugin.java   
@Override
public void beforeActionInvocation(Method actionMethod) {
    super.beforeActionInvocation(actionMethod);
    // displayGae("beforeActionInvocation");
    // RenderArgs.current().put("profiler", profilerUtil);
    boolean shouldProfile = ProfilerEnhancer.shouldProfile();
    if (shouldProfile)
    {
        ProfilerEnhancer.addHeader(Request.current(), ProfilerEnhancer.REQUEST_ID_ATTRIBUTE, requestId);
        profilerUtil.setRequestId(requestId);

        RenderArgs.current().put("profiler", profilerUtil);
    }
    // Logger.info("beforeInvocation: " + actionMethod.getName() +
    // " requestId:" + ProfilerEnhancer.currentRequestId());
}
项目:play-profiler    文件:ProfilerPlugin.java   
@Override
public void routeRequest(Request request) {
    boolean shouldProfile = ProfilerEnhancer.shouldProfile();
    if (shouldProfile)
    {
        profilerUtil = ProfilerEnhancer.addIncludes();
        requestId = String.valueOf(counter.incrementAndGet());
        ProfilerEnhancer.before(requestId);
        // Logger.info("routeRequest:" + request.path + " requestId:" +
        // ProfilerEnhancer.currentRequestId());
        startTime = System.currentTimeMillis();
        // displayGae("routeRequest");
        MiniProfiler.start();
    }
    super.routeRequest(request);
}
项目:restcommander    文件:UploadBinder.java   
@SuppressWarnings("unchecked")
public Object bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) {
    if (value == null || value.trim().length() == 0) {
        return null;
    }
    try {
        List<Upload> uploads = (List<Upload>) Request.current().args.get("__UPLOADS");
        for (Upload upload : uploads) {
            if (upload.getFieldName().equals(value) && upload.getSize() > 0) {
                return upload;
            }
        }
        if (Params.current().get(value + "_delete_") != null) {
            return null;
        }
        return Binder.MISSING;
    } catch (Exception e) {
        Logger.error("", e);
        throw new UnexpectedException(e);
    }
}
项目:restcommander    文件:FileArrayBinder.java   
@SuppressWarnings("unchecked")
public File[] bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) {
    if (value == null || value.trim().length() == 0) {
        return null;
    }
    List<Upload> uploads = (List<Upload>) Request.current().args.get("__UPLOADS");
    List<File> fileArray = new ArrayList<File>();
    for (Upload upload : uploads) {
        if (upload.getFieldName().equals(value)) {
            File file = upload.asFile();
            if (file.length() > 0) {
                fileArray.add(file);
            }
        }
    }
    return fileArray.toArray(new File[fileArray.size()]);
}
项目:restcommander    文件:FileBinder.java   
@SuppressWarnings("unchecked")
public File bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) {
    if (value == null || value.trim().length() == 0) {
        return null;
    }
    List<Upload> uploads = (List<Upload>) Request.current().args.get("__UPLOADS");
    for (Upload upload : uploads) {
        if (upload.getFieldName().equals(value)) {
            File file = upload.asFile();
            if (file.length() > 0) {
                return file;
            }
            return null;
        }
    }
    return null;
}
项目:restcommander    文件:BinaryBinder.java   
@SuppressWarnings("unchecked")
public Object bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) {
    if (value == null || value.trim().length() == 0) {
        return null;
    }
    try {
        Model.BinaryField b = (Model.BinaryField) actualClass.newInstance();
        List<Upload> uploads = (List<Upload>) Request.current().args.get("__UPLOADS");
        for (Upload upload : uploads) {
            if (upload.getFieldName().equals(value) && upload.getSize() > 0) {
                b.set(upload.asStream(), upload.getContentType());
                return b;
            }
        }
        if (Params.current().get(value + "_delete_") != null) {
            return null;
        }
        return Binder.MISSING;
    } catch (Exception e) {
        throw new UnexpectedException(e);
    }
}
项目:restcommander    文件:Controller.java   
/**
 * Render a specific template.
 *
 * @param templateName The template name.
 * @param args The template data.
 */
protected static void renderTemplate(String templateName, Map<String,Object> args) {
    // Template datas
    Scope.RenderArgs templateBinding = Scope.RenderArgs.current();
    templateBinding.data.putAll(args);
    templateBinding.put("session", Scope.Session.current());
    templateBinding.put("request", Http.Request.current());
    templateBinding.put("flash", Scope.Flash.current());
    templateBinding.put("params", Scope.Params.current());
    templateBinding.put("errors", Validation.errors());
    try {
        Template template = TemplateLoader.load(template(templateName));
        throw new RenderTemplate(template, templateBinding.data);
    } catch (TemplateNotFoundException ex) {
        if (ex.isSourceAvailable()) {
            throw ex;
        }
        StackTraceElement element = PlayException.getInterestingStrackTraceElement(ex);
        if (element != null) {
            throw new TemplateNotFoundException(templateName, Play.classes.getApplicationClass(element.getClassName()), element.getLineNumber());
        } else {
            throw ex;
        }
    }
}
项目:restcommander    文件:ActionInvoker.java   
public static Object invokeControllerMethod(Method method, Object[] forceArgs) throws Exception {
    if (Modifier.isStatic(method.getModifiers()) && !method.getDeclaringClass().getName().matches("^controllers\\..*\\$class$")) {
        return invoke(method, null, forceArgs == null ? getActionMethodArgs(method, null) : forceArgs);
    } else if (Modifier.isStatic(method.getModifiers())) {
        Object[] args = getActionMethodArgs(method, null);
        args[0] = Http.Request.current().controllerClass.getDeclaredField("MODULE$").get(null);
        return invoke(method, null, args);
    } else {
        Object instance = null;
        try {
            instance = method.getDeclaringClass().getDeclaredField("MODULE$").get(null);
        } catch (Exception e) {
            Annotation[] annotations = method.getDeclaredAnnotations();
            String annotation = Utils.getSimpleNames(annotations);
            if (!StringUtils.isEmpty(annotation)) {
                throw new UnexpectedException("Method public static void " + method.getName() + "() annotated with " + annotation + " in class " + method.getDeclaringClass().getName() + " is not static.");
            }
            // TODO: Find a better error report
            throw new ActionNotFoundException(Http.Request.current().action, e);
        }
        return invoke(method, instance, forceArgs == null ? getActionMethodArgs(method, instance) : forceArgs);
    }
}
项目:restcommander    文件:PlayHandler.java   
protected static Map<String, Object> getBindingForErrors(Exception e, boolean isError) {

        Map<String, Object> binding = new HashMap<String, Object>();
        if (!isError) {
            binding.put("result", e);
        } else {
            binding.put("exception", e);
        }
        binding.put("session", Scope.Session.current());
        binding.put("request", Http.Request.current());
        binding.put("flash", Scope.Flash.current());
        binding.put("params", Scope.Params.current());
        binding.put("play", new Play());
        try {
            binding.put("errors", Validation.errors());
        } catch (Exception ex) {
            //Logger.error(ex, "Error when getting Validation errors");
        }

        return binding;
    }
项目:restcommander    文件:DBPlugin.java   
@Override
public boolean rawInvocation(Request request, Response response) throws Exception {
    if (Play.mode.isDev() && request.path.equals("/@db")) {
        response.status = Http.StatusCode.MOVED;

        // For H2 embeded database, we'll also start the Web console
        if (h2Server != null) {
            h2Server.stop();
        }
        h2Server = org.h2.tools.Server.createWebServer();
        h2Server.start();

        response.setHeader("Location", "http://localhost:8082/");
        return true;
    }
    return false;
}
项目:restcommander    文件:Evolutions.java   
@Override
public boolean rawInvocation(Request request, Response response) throws Exception {

    // Mark an evolution as resolved
    if (Play.mode.isDev() && request.method.equals("POST") && request.url.matches("^/@evolutions/force/[0-9]+$")) {
        int revision = Integer.parseInt(request.url.substring(request.url.lastIndexOf("/") + 1));
        resolve(revision);
        new Redirect("/").apply(request, response);
        return true;
    }

    // Apply the current evolution script
    if (Play.mode.isDev() && request.method.equals("POST") && request.url.equals("/@evolutions/apply")) {
        applyScript(true);
        new Redirect("/").apply(request, response);
        return true;
    }
    return super.rawInvocation(request, response);
}
项目:restcommander    文件:FunctionalTest.java   
/**
 * sends a GET request to the application under tests.
 * @param request
 * @param url relative url such as <em>"/products/1234"</em>
 * @return the response
 */
public static Response GET(Request request, Object url) {
    String path = "";
    String queryString = "";
    String turl = url.toString();
    if (turl.contains("?")) {
        path = turl.substring(0, turl.indexOf("?"));
        queryString = turl.substring(turl.indexOf("?") + 1);
    } else {
        path = turl;
    }
    request.method = "GET";
    request.url = turl;
    request.path = path;
    request.querystring = queryString;
    request.body = new ByteArrayInputStream(new byte[0]);
    if (savedCookies != null) request.cookies = savedCookies;
    return makeRequest(request);
}
项目:restcommander    文件:FunctionalTest.java   
/**
 * Sends a POST request to the application under tests.
 * @param request
 * @param url relative url such as <em>"/products/1234"</em>
 * @param contenttype content-type of the request
 * @param body posted data
 * @return the response
 */
public static Response POST(Request request, Object url, String contenttype, InputStream body) {
    String path = "";
    String queryString = "";
    String turl = url.toString();
    if (turl.contains("?")) {
        path = turl.substring(0, turl.indexOf("?"));
        queryString = turl.substring(turl.indexOf("?") + 1);
    } else {
        path = turl;
    }
    request.method = "POST";
    request.contentType = contenttype;
    request.url = turl;
    request.path = path;
    request.querystring = queryString;
    request.body = body;
    if (savedCookies != null) request.cookies = savedCookies;
    return makeRequest(request);
}
项目:restcommander    文件:FunctionalTest.java   
/**
 * Sends a PUT request to the application under tests.
 * @param request
 * @param url relative url such as <em>"/products/1234"</em>
 * @param contenttype content-type of the request
 * @param body data to send
 * @return the response
 */
public static Response PUT(Request request, Object url, String contenttype, String body) {
    String path = "";
    String queryString = "";
    String turl = url.toString();
    if (turl.contains("?")) {
        path = turl.substring(0, turl.indexOf("?"));
        queryString = turl.substring(turl.indexOf("?") + 1);
    } else {
        path = turl;
    }
    request.method = "PUT";
    request.contentType = contenttype;
    request.url = turl;
    request.path = path;
    request.querystring = queryString;
    request.body = new ByteArrayInputStream(body.getBytes());
    return makeRequest(request);
}
项目:restcommander    文件:FunctionalTest.java   
/**
 * Sends a DELETE request to the application under tests.
 * @param request
 * @param url relative url eg. <em>"/products/1234"</em>
 * @return the response
 */
public static Response DELETE(Request request, Object url) {
    String path = "";
    String queryString = "";
    String turl = url.toString();
    if (turl.contains("?")) {
        path = turl.substring(0, turl.indexOf("?"));
        queryString = turl.substring(turl.indexOf("?") + 1);
    } else {
        path = turl;
    }
    request.method = "DELETE";
    request.url = turl;
    request.path = path;
    request.querystring = queryString;
    if (savedCookies != null) request.cookies = savedCookies;
    request.body = new ByteArrayInputStream(new byte[0]);
    return makeRequest(request);
}
项目:restcommander    文件:FunctionalTest.java   
public static Response makeRequest(final Request request) {
    Response response = newResponse();
    makeRequest(request, response);

    if (response.status == 302) { // redirect
        // if Location-header is pressent, fix it to "look like" a functional-test-url
        Http.Header locationHeader = response.headers.get("Location");
        if (locationHeader != null) {
            String locationUrl = locationHeader.value();
            if (locationUrl.startsWith("http://localhost/")) {
                locationHeader.values.clear();
                locationHeader.values.add( locationUrl.substring(16));//skip 'http://localhost'
            }
        }
    }
    return response;
}
项目:restcommander    文件:FunctionalTest.java   
public static Request newRequest() {
    Request request = Request.createRequest(
            null,
            "GET",
            "/",
            "",
            null,
            null,
            null,
            null,
            false,
            80,
            "localhost",
            false,
            null,
            null
    );
    return request;
}
项目:restcommander    文件:Lang.java   
/**
 * Retrieve the current language or null
 * @return The current language (fr, ja, it ...) or null
 */
public static String get() {
    String locale = current.get();
    if (locale == null) {
        // don't have current locale for this request - must try to resolve it
        Http.Request currentRequest = Http.Request.current();
        if (currentRequest!=null) {
            // we have a current request - lets try to resolve language from it
            resolvefrom( currentRequest );
        } else {
            // don't have current request - just use default
            setDefaultLocale();
        }
        // get the picked locale
        locale = current.get();
    }
    return locale;
}
项目:play-oauth2    文件:SecurityAuthenticationFilter.java   
@Override
public Promise<Result> apply(Request request, Method method, Context context, Action<?> action)
    throws Throwable {
  String token = getAuthorizationToken(request);
  if (token == null) {
    token = request.getQueryString(OAuth2AccessToken.ACCESS_TOKEN);
  }
  if (token == null) {
    logger.info("Authentication skipped");
  } else {
    Authentication authRequest = new PreAuthenticatedAuthenticationToken(token, "");
    Authentication authResult = oauth2AuthenticationManager.authenticate(authRequest);
    SecurityContextHolder.getContext().setAuthentication(authResult);
    logger.info("Authenticated successfully");
  }
  return action.call(context);
}
项目:sunbird-lms-service    文件:BaseController.java   
/**
 * This method will create failure response
 * 
 * @param request Request
 * @param code ResponseCode
 * @param headerCode ResponseCode
 * @return Response
 */
public static Response createFailureResponse(Request request, ResponseCode code,
    ResponseCode headerCode) {

  Response response = new Response();
  response.setVer(getApiVersion(request.path()));
  response.setId(getApiResponseId(request));
  response.setTs(ProjectUtil.getFormattedDate());
  response.setResponseCode(headerCode);
  response.setParams(createResponseParamObj(code));
  return response;
}
项目:sunbird-lms-service    文件:BaseController.java   
/**
 * This method will create data for success response.
 * 
 * @param request play.mvc.Http.Request
 * @param response Response
 * @return Response
 */
public static Response createSuccessResponse(play.mvc.Http.Request request, Response response) {

  if (request != null) {
    response.setVer(getApiVersion(request.path()));
  } else {
    response.setVer("");
  }
  response.setId(getApiResponseId(request));
  response.setTs(ProjectUtil.getFormattedDate());
  ResponseCode code = ResponseCode.getResponse(ResponseCode.success.getErrorCode());
  code.setResponseCode(ResponseCode.OK.getResponseCode());
  response.setParams(createResponseParamObj(code));
  return response;
}
项目:sunbird-lms-service    文件:BaseController.java   
/**
 * This method will handle response in case of exception
 * 
 * @param request play.mvc.Http.Request
 * @param exception ProjectCommonException
 * @return Response
 */
public static Response createResponseOnException(play.mvc.Http.Request request,
    ProjectCommonException exception) {
  ProjectLogger.log(exception != null ? exception.getMessage() : "Message is not coming",
      exception);
  Response response = new Response();
  if (request != null) {
    response.setVer(getApiVersion(request.path()));
  } else {
    response.setVer("");
  }
  response.setId(getApiResponseId(request));
  response.setTs(ProjectUtil.getFormattedDate());
  response.setResponseCode(ResponseCode.getHeaderResponseCode(exception.getResponseCode()));
  ResponseCode code = ResponseCode.getResponse(exception.getCode());
  if (code == null) {
    code = ResponseCode.SERVER_ERROR;
  }
  response.setParams(createResponseParamObj(code));
  if (response.getParams() != null && response.getParams().getStatus() != null) {
    response.getParams().setStatus(
        exception.getCode() != null ? exception.getCode() : response.getParams().getStatus());
  }
  if (response.getParams() != null
      && !ProjectUtil.isStringNullOREmpty(response.getParams().getErrmsg())
      && response.getParams().getErrmsg().contains("{0}")) {
    response.getParams().setErrmsg(exception.getMessage());
  }
  return response;
}
项目:sunbird-lms-service    文件:Global.java   
/**
 * This method will be called on each request.
 * 
 * @param request Request
 * @param actionMethod Method
 * @return Action
 */
@SuppressWarnings("rawtypes")
public Action onRequest(Request request, Method actionMethod) {

  String messageId = request.getHeader(JsonKey.MESSAGE_ID);
  ProjectLogger.log("method call start.." + request.path() + " " + actionMethod + " " + messageId,
      LoggerEnum.INFO.name());
  if (ProjectUtil.isStringNullOREmpty(messageId)) {
    UUID uuid = UUID.randomUUID();
    messageId = uuid.toString();
    ProjectLogger.log("message id is not provided by client.." + messageId);
  }
  ExecutionContext.setRequestId(messageId);
  return new ActionWrapper(super.onRequest(request, actionMethod));
}
项目:oauthly    文件:EventRepository.java   
private void fillAndSave(Event event, Request request){
    if(request != null){
        event.setIpAddress(request.remoteAddress());
        event.setUserAgent(request.header("User-Agent").orElse(null));
    }
    this.save(event);
}
项目:ground    文件:GroundUtils.java   
public static Result handleException(Throwable e, Request request) {
  if (e.getCause().getCause() instanceof GroundException) {
    return badRequest(GroundUtils.getClientError(request, e.getCause().getCause(), ExceptionType.ITEM_NOT_FOUND));
  } else {
    return internalServerError(GroundUtils.getServerError(request, e.getCause().getCause()));
  }
}
项目:ground    文件:GroundUtils.java   
private static ObjectNode getServerError(final Request request, final Throwable e) {
  Logger.error("Error! Request Path: {}\nError Message: {}\n Stack Trace: {}", request.path(), e.getMessage(), e.getStackTrace());

  ObjectNode result = Json.newObject();
  result.put("Error", "Unexpected error while processing request.");
  result.put("Request Path", request.path());

  StringWriter sw = new StringWriter();
  e.printStackTrace(new PrintWriter(sw));
  result.put("Stack Trace", sw.toString());
  return result;
}
项目:vos_backend    文件:RequestHeader.java   
/**
 * Constructor RequestHeader
 * @param request
 * @return new RequestHeader Object
 * @throws Exception
 */
public RequestHeader (Request request) throws Exception {

  this.remoteAddress = request.remoteAddress();
  this.requestType = RequestType.valueOf(request.method().toUpperCase() );
  this.userAgent = request.getHeader("User-Agent");
  this.httpAccept = request.getHeader("Accept");
  this.headers = request.headers();
}
项目:vos_backend    文件:OpenID.java   
/**
 * Check the identity of the user from the current request, that should be the callback from the OpenID server
 */
public static F.Promise<UserInfo> verifiedId() {
    Request request = Http.Context.current().request();
    scala.concurrent.Future<UserInfo> scalaPromise = play.api.libs.openid.OpenID.verifiedId(request.queryString()).map(
            new AbstractFunction1<play.api.libs.openid.UserInfo, UserInfo>() {
                @Override
                public UserInfo apply(play.api.libs.openid.UserInfo scalaUserInfo) {
                    return new UserInfo(scalaUserInfo.id(), JavaConversions.mapAsJavaMap(scalaUserInfo.attributes()));
                }
            },Invoker.executionContext());
    return new F.Promise<UserInfo>(scalaPromise);
}
项目:play-sentry    文件:PlayHttpRequestInterfaceBinding.java   
private Integer extractPort(Request request) {
    String host = request.host();
    String[] hparts = host.split(":");

    Integer port;

    if(hparts.length == 2)
        port = Integer.parseInt(hparts[1]);
    else
        port = 80;

    return port;
}
项目:play-sentry    文件:PlayHttpRequestInterfaceBinding.java   
private String extractQueryString(Request request) {
    int index = request.uri().indexOf("?");
    if(index == -1)
        return "";

    return request.uri().substring(index + 1);
}
项目:play-sentry    文件:PlayHttpRequestInterfaceBinding.java   
private void writeEnvironment(JsonGenerator generator, Request request) throws IOException {
    InetAddress localhost = InetAddress.getLocalHost();

    generator.writeStartObject();
       generator.writeStringField(ENV_REMOTE_ADDR, request.remoteAddress());
       generator.writeStringField(ENV_SERVER_NAME, request.host());
       generator.writeNumberField(ENV_SERVER_PORT, extractPort(request));
       generator.writeStringField(ENV_LOCAL_ADDR, localhost.getHostAddress());
       generator.writeStringField(ENV_LOCAL_NAME, localhost.getHostName());
       generator.writeStringField(ENV_SERVER_PROTOCOL, request.version());
       generator.writeBooleanField(ENV_REQUEST_SECURE, request.secure());
       generator.writeStringField(ENV_REMOTE_USER, request.username());
       generator.writeEndObject();
}
项目:app-framework    文件:FilterConfig.java   
/**
 * Helper to get the selected rows (ids) from the request (depending of the
 * row action type: ajax or link).
 * 
 * @param request
 *            the HTTP request
 */
public static List<String> getIdsFromRequest(Request request) {

    try {

        List<String> ids = new ArrayList<>();
        JsonNode selectedRows = null;

        // ajax case
        JsonNode json = request.body().asJson();
        if (json != null && json.get(JSON_SELECTED_ROWS_FIELD) != null) {
            selectedRows = json.get(JSON_SELECTED_ROWS_FIELD);
        }

        // link case
        Map<String, String[]> formUrlEncoded = request.body().asFormUrlEncoded();
        if (formUrlEncoded != null && formUrlEncoded.get(JSON_SELECTED_ROWS_FIELD) != null && formUrlEncoded.get(JSON_SELECTED_ROWS_FIELD).length > 0) {
            String[] selectedRowsString = formUrlEncoded.get(JSON_SELECTED_ROWS_FIELD);
            ObjectMapper mapper = new ObjectMapper();
            selectedRows = mapper.readTree(selectedRowsString[0]);
        }

        if (selectedRows != null) {
            for (JsonNode elem : selectedRows) {
                ids.add(elem.asText());
            }
            return ids;
        }

    } catch (Exception e) {
        Logger.error("impossible to get the ids", e);
    }

    return null;
}