Package yalp.mvc.Http

Examples of yalp.mvc.Http.Request


    }

    // ------------
    @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 (Yalp.configuration.containsKey("XForwardedSupport") && grizzlyRequest.getHeader("X-Forwarded-For") != null) {
            if (!Arrays.asList(Yalp.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(Yalp.configuration.get("XForwardedProto")) || "https".equals(grizzlyRequest.getHeader("X-Forwarded-Proto")) || "on".equals(grizzlyRequest.getHeader("X-Forwarded-Ssl")));
                if (Yalp.configuration.containsKey("XForwardedHost")) {
                    request.host = (String) Yalp.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 yalpCookie = new Http.Cookie();
                yalpCookie.name = cookie.getName();
                yalpCookie.path = cookie.getPath();
                yalpCookie.domain = cookie.getDomain();
                yalpCookie.secure = cookie.getSecure();
                yalpCookie.value = cookie.getValue();
                yalpCookie.maxAge = cookie.getMaxAge();
                request.cookies.put(yalpCookie.name, yalpCookie);
            }
        }

        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

      Yalp.configuration.setProperty(CONFIG_XFORWARD_SUPPORT, prev);
  }
    }

  private void assertValidTest(String remoteAddress, String xForwardedFor) {
    Request request = getRequest(remoteAddress, xForwardedFor);
    Response response = GET(request, PAGE_URL);
    assertIsOk(response);
   
    //remoteAddress should be changed to xForwardedFor address
    assertEquals(xForwardedFor, request.remoteAddress);
View Full Code Here

    assertEquals(xForwardedFor, request.remoteAddress);
  }

  private void assertInvalidTest(String remoteAddress, String xForwardedFor) {
    try {
      Request request = getRequest(remoteAddress, xForwardedFor);
      Response response = GET(request, PAGE_URL);
      fail("XForwarded request should have thrown a runtime exception.");
    } catch (RuntimeException re) {
      assertTrue(re.getMessage().contains(remoteAddress));
    }
View Full Code Here

        header.name = HEADER_XFORWARDED_FOR;
        header.values = Arrays.asList(new String[]{xForwardedFor});

        headers.put(HEADER_XFORWARDED_FOR, header);

    Request request = Request.createRequest(
                remoteAddress,
                "GET",
                "/",
                "",
                null,
View Full Code Here

    }

    @Test
    public void redirectrelative_expectOk() {
        final Request req = newRequest();
        req.port = 2003;
        final Response response = GET(req, "/redirector/index?target=/someurl");
        assertStatus(302, response);
        final String location = response.headers.get("Location").value();
View Full Code Here

public class SslYalpHandler extends YalpHandler {

    @Override
    public Request parseRequest(ChannelHandlerContext ctx, HttpRequest nettyRequest, MessageEvent e) throws Exception {
        Request request = super.parseRequest(ctx, nettyRequest, e);
        request.secure = true;
        return request;
    }
View Full Code Here

                return;
            }

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

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

                // Buffered in memory output
View Full Code Here

TOP

Related Classes of yalp.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.