private static HttpHeaders createHeaders(HttpServletResponse response) { HttpFields fields = ((Response) response).getHttpFields(); return new HttpHeaders(new JettyHeadersAdapter(fields)); }
private static void addResponseFieldIfConfigured( Request request, HttpField field ) { if ( field != null ) { request.getResponse().getHttpFields().add( field ); } }
private static HttpHeaders createHeaders(HttpServletResponse response) { HttpFields fields = ((Response) response).getHttpFields(); return new HttpHeaders(new JettyHeadersAdapter(fields)); }
public static void setCaching(final HttpServletResponse response, final int expiresSeconds) { if (response instanceof org.eclipse.jetty.server.Response) { org.eclipse.jetty.server.Response r = (org.eclipse.jetty.server.Response) response; HttpFields fields = r.getHttpFields();
@Test public void shouldNotAddHstsHeaderWhenNotConfigured() { Customizer customizer = newCustomizer(); Request request = newRequest(); customize( customizer, request ); String hstsValue = request.getResponse().getHttpFields().get( STRICT_TRANSPORT_SECURITY ); assertNull( hstsValue ); }
@Test public void shouldAddHstsHeaderWhenConfigured() { String configuredValue = "max-age=3600; includeSubDomains"; Customizer customizer = newCustomizer( configuredValue ); Request request = newRequest(); customize( customizer, request ); String receivedValue = request.getResponse().getHttpFields().get( STRICT_TRANSPORT_SECURITY ); assertEquals( configuredValue, receivedValue ); }
public static void setCaching(final HttpServletResponse response, final int expiresSeconds) { if (response instanceof org.eclipse.jetty.server.Response) { org.eclipse.jetty.server.Response r = (org.eclipse.jetty.server.Response) response; HttpFields fields = r.getHttpFields();
private static Map<String, String> cloneHeaders(final Response rsp) { Map<String, String> r = new TreeMap<String, String>(); Enumeration<String> hn = rsp.getHttpFields().getFieldNames(); while (hn.hasMoreElements()) { String key = hn.nextElement(); if (!r.containsKey(key)) { Enumeration<String> v = rsp.getHttpFields().getValues(key); r.put(key, v.nextElement()); } } return Collections.unmodifiableMap(r); }
private static Map<String, String> cloneHeaders(Response rsp) { Map<String, String> r = new TreeMap<>(); Enumeration<String> hn = rsp.getHttpFields().getFieldNames(); while (hn.hasMoreElements()) { String key = hn.nextElement(); if (!r.containsKey(key)) { Enumeration<String> v = rsp.getHttpFields().getValues(key); r.put(key, v.nextElement()); } } return Collections.unmodifiableMap(r); }
@Override public Map<String, String> buildResponseHeaderMap() { Map<String, String> responseHeaderMap = new HashMap<String, String>(); HttpFields httpFields = response.getHttpFields(); Enumeration e = httpFields.getFieldNames(); while (e.hasMoreElements()) { String key = (String) e.nextElement(); String value = response.getHeader(key); responseHeaderMap.put(key, value); } return responseHeaderMap; }
@Override public void removeHeaders(String name) { HttpServletResponse parentResponse = parent.getResponse(); if (parentResponse instanceof org.eclipse.jetty.server.Response) { org.eclipse.jetty.server.Response jettyResponse = (org.eclipse.jetty.server.Response)parentResponse; jettyResponse.getHttpFields().remove(name); } else { throw new UnsupportedOperationException( "Cannot remove headers for response of type " + parentResponse.getClass().getName()); } }
private static HttpHeaders createHeaders(HttpServletResponse response) { HttpFields fields = ((Response) response).getHttpFields(); return new HttpHeaders(new JettyHeadersAdapter(fields)); }
private static void addResponseFieldIfConfigured( Request request, HttpField field ) { if ( field != null ) { request.getResponse().getHttpFields().add( field ); } }
/** * Customizes the request attributes for general secure settings. * The default impl calls {@link Request#setSecure(boolean)} with true * and sets a response header if the Strict-Transport-Security options * are set. * @param request the request being customized */ protected void customizeSecure(Request request) { request.setSecure(true); if (_stsField!=null) request.getResponse().getHttpFields().add(_stsField); }
/** * Customizes the request attributes for general secure settings. * The default impl calls {@link Request#setSecure(boolean)} with true * and sets a response header if the Strict-Transport-Security options * are set. * @param request the request being customized */ protected void customizeSecure(Request request) { request.setSecure(true); if (_stsField!=null) request.getResponse().getHttpFields().add(_stsField); }
public void onRequest(MetaData.Request request) { _requests.incrementAndGet(); _request.setTimeStamp(System.currentTimeMillis()); HttpFields fields = _response.getHttpFields(); if (_configuration.getSendDateHeader() && !fields.contains(HttpHeader.DATE)) fields.put(_connector.getServer().getDateField()); _request.setMetaData(request); }
protected void handleOptions(Request request,Response response) throws IOException { if (!HttpMethod.OPTIONS.is(request.getMethod())) response.sendError(HttpStatus.BAD_REQUEST_400); request.setHandled(true); response.setStatus(200); response.getHttpFields().put(HttpHeader.ALLOW,"GET,POST,HEAD,OPTIONS"); response.setContentLength(0); response.complete(); }
protected void handleOptions(Request request,Response response) throws IOException { if (!HttpMethod.OPTIONS.is(request.getMethod())) response.sendError(HttpStatus.BAD_REQUEST_400); request.setHandled(true); response.setStatus(200); response.getHttpFields().put(HttpHeader.ALLOW,"GET,POST,HEAD,OPTIONS"); response.setContentLength(0); response.complete(); }
@Override public void onComplete(AsyncEvent event) throws IOException { AsyncContextEvent ace=(AsyncContextEvent)event; String cname=findContextName(ace.getServletContext()); String rname=findRequestName(ace.getAsyncContext().getRequest()); Request br=Request.getBaseRequest(ace.getAsyncContext().getRequest()); Response response = br.getResponse(); String headers=_showHeaders?("\n"+response.getHttpFields().toString()):""; log("! ctx=%s r=%s onComplete %s %d%s",cname,rname,ace.getHttpChannelState(),response.getStatus(),headers); } };
@Override public void onComplete(AsyncEvent event) throws IOException { AsyncContextEvent ace=(AsyncContextEvent)event; String cname=findContextName(ace.getServletContext()); String rname=findRequestName(ace.getAsyncContext().getRequest()); Request br=Request.getBaseRequest(ace.getAsyncContext().getRequest()); Response response = br.getResponse(); String headers=_showHeaders?("\n"+response.getHttpFields().toString()):""; log("! ctx=%s r=%s onComplete %s %d%s",cname,rname,ace.getHttpChannelState(),response.getStatus(),headers); } };