public static void refreshScript(Integer convID, Boolean readOnly) { Http.Header h = new Http.Header(); h.name = "Content-Type"; h.values.add("text/javascript"); Chat.response.headers.put("Content-Type", h); render(convID, readOnly); }
public static void list(String unitId) { Http.Header hd = new Http.Header(); hd.name = "Access-Control-Allow-Origin"; hd.values = new ArrayList<String>(); hd.values.add("*"); Http.Response.current().headers.put("Access-Control-Allow-Origin", hd); if (unitId == null) badRequest(); Phone p = Phone.find("unitId = ?", unitId).first(); if (p == null) badRequest(); List<TripPattern> patterns = TripPattern.find("route.phone = ?", p).fetch(); Gson gson = new GsonBuilder() .registerTypeAdapter(TripPattern.class, new TripPatternSerializer()) .serializeSpecialFloatingPointValues() .serializeNulls() .create(); renderJSON(gson.toJson(patterns)); }
protected static void addToRequest(HttpRequest nettyRequest, Request request) { for (String key : nettyRequest.getHeaderNames()) { Http.Header hd = new Http.Header(); hd.name = key.toLowerCase(); hd.values = new ArrayList<String>(); for (String next : nettyRequest.getHeaders(key)) { hd.values.add(next); } request.headers.put(hd.name, hd); } String value = nettyRequest.getHeader(COOKIE); if (value != null) { Set<Cookie> cookies = new CookieDecoder().decode(value); 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.isSecure(); playCookie.value = cookie.getValue(); playCookie.httpOnly = cookie.isHttpOnly(); request.cookies.put(playCookie.name, playCookie); } } } }
protected static Map<String, Http.Header> getHeaders(HttpServletRequest httpServletRequest) { Map<String, Http.Header> headers = new HashMap<String, Http.Header>(16); Enumeration headersNames = httpServletRequest.getHeaderNames(); while (headersNames.hasMoreElements()) { Http.Header hd = new Http.Header(); hd.name = (String) headersNames.nextElement(); hd.values = new ArrayList<String>(); Enumeration enumValues = httpServletRequest.getHeaders(hd.name); while (enumValues.hasMoreElements()) { String value = (String) enumValues.nextElement(); hd.values.add(value); } headers.put(hd.name.toLowerCase(), hd); } return headers; }
public static void pattern(Long patternId) { Http.Header hd = new Http.Header(); hd.name = "Access-Control-Allow-Origin"; hd.values = new ArrayList<String>(); hd.values.add("*"); Http.Response.current().headers.put("Access-Control-Allow-Origin", hd); TripPattern pattern = TripPattern.findById(patternId); Gson gson = new GsonBuilder() .registerTypeAdapter(TripPattern.class, new TripPatternShapeSerializer()) .serializeSpecialFloatingPointValues() .serializeNulls() .create(); renderJSON(gson.toJson(pattern)); }
public static Request parseRequest(HttpServletRequest httpServletRequest) throws Exception { Request request = new Http.Request(); Request.current.set(request); URI uri = new URI(httpServletRequest.getRequestURI()); request.method = httpServletRequest.getMethod().intern(); request.path = uri.getPath(); request.querystring = httpServletRequest.getQueryString() == null ? "" : httpServletRequest.getQueryString(); Logger.trace("httpServletRequest.getContextPath(): " + httpServletRequest.getContextPath()); Logger.trace("request.path: " + request.path + ", request.querystring: " + request.querystring); Router.routeOnlyStatic(request); if (httpServletRequest.getHeader("Content-Type") != null) { request.contentType = httpServletRequest.getHeader("Content-Type").split(";")[0].trim().toLowerCase().intern(); } else { request.contentType = "text/html".intern(); } if (httpServletRequest.getHeader("X-HTTP-Method-Override") != null) { request.method = httpServletRequest.getHeader("X-HTTP-Method-Override").intern(); } request.body = httpServletRequest.getInputStream(); request.secure = httpServletRequest.isSecure(); request.url = uri.toString() + (httpServletRequest.getQueryString() == null ? "" : "?" + httpServletRequest.getQueryString()); request.host = httpServletRequest.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 = httpServletRequest.getRemoteAddr(); if (Play.configuration.containsKey("XForwardedSupport") && httpServletRequest.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(httpServletRequest.getHeader("X-Forwarded-Proto")) || "on".equals(httpServletRequest.getHeader("X-Forwarded-Ssl"))); if (Play.configuration.containsKey("XForwardedHost")) { request.host = (String) Play.configuration.get("XForwardedHost"); } else if (httpServletRequest.getHeader("X-Forwarded-Host") != null) { request.host = httpServletRequest.getHeader("X-Forwarded-Host"); } if (httpServletRequest.getHeader("X-Forwarded-For") != null) { request.remoteAddress = httpServletRequest.getHeader("X-Forwarded-For"); } } } Enumeration headersNames = httpServletRequest.getHeaderNames(); while (headersNames.hasMoreElements()) { Http.Header hd = new Http.Header(); hd.name = (String) headersNames.nextElement(); hd.values = new ArrayList<String>(); Enumeration enumValues = httpServletRequest.getHeaders(hd.name); while (enumValues.hasMoreElements()) { String value = (String) enumValues.nextElement(); hd.values.add(value); } request.headers.put(hd.name.toLowerCase(), hd); } request.resolveFormat(); javax.servlet.http.Cookie[] cookies = httpServletRequest.getCookies(); if (cookies != null) { for (javax.servlet.http.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; }