Package play.mvc.Http

Examples of play.mvc.Http.Request


  @Override
  public Object authenticate(final Context context, final Object payload)
      throws AuthException {

    final Request request = context.request();

    if (Logger.isDebugEnabled()) {
      Logger.debug("Returned with URL: '" + request.uri() + "'");
    }

    final String error = request.getQueryString(getErrorParameterKey());

    if (error != null) {
      if (error.equals(Constants.ACCESS_DENIED)) {
        throw new AccessDeniedException(getKey());
      } else if (error.equals(Constants.REDIRECT_URI_MISMATCH)) {
        Logger.error("You must set the redirect URI for your provider to whatever you defined in your routes file."
            + "For this provider it is: '"
            + getRedirectUrl(request) + "'");
        throw new RedirectUriMismatch();
      } else {
        throw new AuthException(error);
      }
    } else if (isCallbackRequest(context)) {
      // second step in auth process
            final UUID storedState = PlayAuthenticate.getFromCache(context.session(), STATE_TOKEN);
            if(storedState == null) {
                Logger.warn("Cache either timed out, or you are using a setup with multiple servers and a non-shared cache implementation");
                // we will just behave as if there was no auth, yet...
                //return generateRedirectUrl(context, request);
            }
            final String callbackState = request.getQueryString(Constants.STATE);
            if(!storedState.equals(UUID.fromString(callbackState))) {
                // the return callback may have been forged
                throw new AuthException(Messages.get("playauthenticate.core.exception.oauth2.state_param_forged"));
            }
      final String code = request.getQueryString(Constants.CODE);
      final I info = getAccessToken(code, request);
            return transform(info, callbackState);
    } else {
      // no auth, yet
            return generateRedirectUrl(context, request);
View Full Code Here


    @Override
  public Object authenticate(final Context context, final Object payload)
      throws AuthException {

    final Request request = context.request();
    final String uri = request.uri();

    if (Logger.isDebugEnabled()) {
      Logger.debug("Returned with URL: '" + uri + "'");
    }

    final Configuration c = getConfiguration();

    final ConsumerKey key = new ConsumerKey(
        c.getString(SettingKeys.CONSUMER_KEY),
        c.getString(SettingKeys.CONSUMER_SECRET));
    final String requestTokenURL = c
        .getString(SettingKeys.REQUEST_TOKEN_URL);
    final String accessTokenURL = c.getString(SettingKeys.ACCESS_TOKEN_URL);
    final String authorizationURL = c
        .getString(SettingKeys.AUTHORIZATION_URL);
    final ServiceInfo info = new ServiceInfo(requestTokenURL,
        accessTokenURL, authorizationURL, key);
    final OAuth service = new OAuth(info, true);

        checkError(request);

        if (uri.contains(Constants.OAUTH_VERIFIER)) {

      final RequestToken rtoken = (RequestToken) PlayAuthenticate
          .removeFromCache(context.session(), CACHE_TOKEN);
      final String verifier = request.getQueryString(Constants.OAUTH_VERIFIER);
      try {
        final RequestToken response = service
            .retrieveAccessToken(rtoken, verifier);
        final I i = buildInfo(response);
        return transform(i);
View Full Code Here

  @Override
  public Object authenticate(final Context context, final Object payload)
      throws AuthException {

    final Request request = context.request();

    if (Logger.isDebugEnabled()) {
      Logger.debug("Returned with URL: '" + request.uri() + "'");
    }

    final boolean hasOpenID = payload != null
        && !payload.toString().trim().isEmpty();
View Full Code Here

                return;
            }

            // Plain old HttpRequest
            try {
                final Request request = parseRequest(ctx, nettyRequest);

                final Response response = new Response();
                Http.Response.current.set(response);

                // Buffered in memory output
View Full Code Here

            }
        }

        boolean secure = false;

        final Request request = Request.createRequest(
                remoteAddress,
                method,
                path,
                querystring,
                contentType,
View Full Code Here

        HttpResponse nettyResponse = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.INTERNAL_SERVER_ERROR);
        if (exposePlayServer) {
            nettyResponse.setHeader(SERVER, signature);
        }

        Request request = Request.current();
        Response response = Response.current();

        String encoding = response.encoding;

        try {
View Full Code Here

    }

    // ------------
    @Override
    public void service(GrizzlyRequest grizzlyRequest, GrizzlyResponse grizzlyResponse) {
        Request request = null;
        try {
            Response response = new Response();
            response.out = new ByteArrayOutputStream();
            Response.current.set(response);
            request = parseRequest(grizzlyRequest);
View Full Code Here

            }
        }
    }

    public static Request parseRequest(GrizzlyRequest grizzlyRequest) throws Exception {
        Request request = new Http.Request();
        Request.current.set(request);
        URI uri = new URI(grizzlyRequest.getRequestURI());
        request.method = grizzlyRequest.getMethod().intern();
        request.path = uri.getPath();
        request.querystring = grizzlyRequest.getQueryString() == null ? "" : grizzlyRequest.getQueryString();

        Router.routeOnlyStatic(request);

        if (grizzlyRequest.getHeader("Content-Type") != null) {
            request.contentType = grizzlyRequest.getHeader("Content-Type").split(";")[0].trim().toLowerCase().intern();
        } else {
            request.contentType = "text/html".intern();
        }

        if (grizzlyRequest.getHeader("X-HTTP-Method-Override") != null) {
            request.method = grizzlyRequest.getHeader("X-HTTP-Method-Override").intern();
        }

        request.body = grizzlyRequest.getInputStream();
        request.secure = grizzlyRequest.isSecure();

        request.url = uri.toString() + (grizzlyRequest.getQueryString() == null ? "" : "?" + grizzlyRequest.getQueryString());
        request.host = grizzlyRequest.getHeader("host");
        if (request.host.contains(":")) {
            request.port = Integer.parseInt(request.host.split(":")[1]);
            request.domain = request.host.split(":")[0];
        } else {
            request.port = 80;
            request.domain = request.host;
        }

        request.remoteAddress = grizzlyRequest.getRemoteAddr();

        if (Play.configuration.containsKey("XForwardedSupport") && grizzlyRequest.getHeader("X-Forwarded-For") != null) {
            if (!Arrays.asList(Play.configuration.getProperty("XForwardedSupport", "127.0.0.1").split(",")).contains(request.remoteAddress)) {
                throw new RuntimeException("This proxy request is not authorized");
            } else {
                request.secure = ("https".equals(Play.configuration.get("XForwardedProto")) || "https".equals(grizzlyRequest.getHeader("X-Forwarded-Proto")) || "on".equals(grizzlyRequest.getHeader("X-Forwarded-Ssl")));
                if (Play.configuration.containsKey("XForwardedHost")) {
                    request.host = (String) Play.configuration.get("XForwardedHost");
                } else if (grizzlyRequest.getHeader("X-Forwarded-Host") != null) {
                    request.host = grizzlyRequest.getHeader("X-Forwarded-Host");
                }
                if (grizzlyRequest.getHeader("X-Forwarded-For") != null) {
                    request.remoteAddress = grizzlyRequest.getHeader("X-Forwarded-For");
                }
            }
        }

        Enumeration headersNames = grizzlyRequest.getHeaderNames();
        while (headersNames.hasMoreElements()) {
            Http.Header hd = new Http.Header();
            hd.name = (String) headersNames.nextElement();
            hd.values = new ArrayList<String>();
            Enumeration enumValues = grizzlyRequest.getHeaders(hd.name);
            while (enumValues.hasMoreElements()) {
                String value = (String) enumValues.nextElement();
                hd.values.add(value);
            }
            request.headers.put(hd.name.toLowerCase(), hd);
        }

        request.resolveFormat();

        Cookie[] cookies = grizzlyRequest.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                Http.Cookie playCookie = new Http.Cookie();
                playCookie.name = cookie.getName();
                playCookie.path = cookie.getPath();
                playCookie.domain = cookie.getDomain();
                playCookie.secure = cookie.getSecure();
                playCookie.value = cookie.getValue();
                playCookie.maxAge = cookie.getMaxAge();
                request.cookies.put(playCookie.name, playCookie);
            }
        }

        request._init();

        return request;
    }
View Full Code Here

    /**
     * Work out the default template to load for the invoked action.
     * E.g. "controllers.Pages.index" returns "views/Pages/index.html".
     */
    protected static String template() {
        final Request theRequest = Request.current();
        final String format = theRequest.format;
        String templateName = theRequest.action.replace(".", "/") + "." + (format == null ? "html" : format);
        if (templateName.startsWith("@")) {
            templateName = templateName.substring(1);
            if (!templateName.contains(".")) {
View Full Code Here

    /**
     * Work out the default template to load for the action.
     * E.g. "controllers.Pages.index" returns "views/Pages/index.html".
     */
    protected static String template(String templateName) {
        final Request theRequest = Request.current();
        final String format = theRequest.format;
        if (templateName.startsWith("@")) {
            templateName = templateName.substring(1);
            if (!templateName.contains(".")) {
                templateName = theRequest.controller + "." + templateName;
View Full Code Here

TOP

Related Classes of play.mvc.Http.Request

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.