@Override public String getKey() { return this.key.toString(); }
@Override public String getKey() { return this.key.toString(); }
AuthenticationInfoToken(final HttpString name, final boolean quoted) { this.name = name.toString(); this.quoted = quoted; }
DigestWWWAuthenticateToken(final HttpString name, final boolean quoted) { this.name = name.toString(); this.quoted = quoted; }
@Override public String getMethodValue() { return this.exchange.getRequestMethod().toString(); }
private static HttpHeaders toHttpHeaders(HeaderMap headerMap) { HttpHeaders httpHeaders = new HttpHeaders(); for (HttpString name : headerMap.getHeaderNames()) { for (String value : headerMap.get(name)) { httpHeaders.add(name.toString(), value); } } return httpHeaders; }
@Override public String getMethodValue() { return this.exchange.getRequestMethod().toString(); }
void add(final HttpString name, Deque<FormData.FormValue> values) { checkStringForSuspiciousCharacters(name.toString()); for (final FormData.FormValue value : values) { add(name, value); } }
@Override public String readAttribute(final HttpServerExchange exchange) { return exchange.getProtocol().toString(); }
@Override public String readAttribute(final HttpServerExchange exchange) { return exchange.getRequestMethod().toString(); }
public boolean isIdentity() { return getCurrentContentEncoding().equals(Headers.IDENTITY.toString()); }
@Override public Map<String, String> toSingleValueMap() { Map<String, String> singleValueMap = new LinkedHashMap<>(this.headers.size()); this.headers.forEach(values -> singleValueMap.put(values.getHeaderName().toString(), values.getFirst())); return singleValueMap; }
@Override public boolean isRequestTrailerFieldsSupported() { if(current == null) { return false; } String te = current.getRequestHeaders().getFirst(Headers.TRANSFER_ENCODING); if(te == null) { return false; } return te.equalsIgnoreCase(Headers.CHUNKED.toString()); }
@Override public Map<String, List<String>> getResponseHeaders() { Map<String, List<String>> headers = new HashMap<>(); for (final HttpString header : exchange.getResponseHeaders().getHeaderNames()) { headers.put(header.toString(), new ArrayList<>(exchange.getResponseHeaders().get(header))); } return Collections.unmodifiableMap(headers); }
@Override public Map<String, List<String>> getRequestHeaders() { Map<String, List<String>> headers = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (final HttpString header : exchange.getRequestHeaders().getHeaderNames()) { headers.put(header.toString(), new ArrayList<>(exchange.getRequestHeaders().get(header))); } return Collections.unmodifiableMap(headers); }
@Override public String toString() { return "HttpServerExchange{ " + getRequestMethod().toString() + " " + getRequestURI() + " request " + requestHeaders + " response " + responseHeaders + '}'; } }
@Override public Map<String, String> toSingleValueMap() { Map<String, String> singleValueMap = new LinkedHashMap<>(this.headers.size()); this.headers.forEach(values -> singleValueMap.put(values.getHeaderName().toString(), values.getFirst())); return singleValueMap; }
private void writeHuffmanEncodableName(ByteBuffer target, HttpString headerName) { if (hpackHeaderFunction.shouldUseHuffman(headerName)) { if(HPackHuffman.encode(target, headerName.toString(), true)) { return; } } target.put((byte) 0); //to use encodeInteger we need to place the first byte in the buffer. encodeInteger(target, headerName.length(), 7); for (int j = 0; j < headerName.length(); ++j) { target.put(Hpack.toLower(headerName.byteAt(j))); } }
/** * @return The content encoding that will be set, given the current state of the HttpServerExchange */ public String getCurrentContentEncoding() { for (EncodingMapping encoding : encodings) { if (encoding.getAllowed() == null || encoding.getAllowed().resolve(exchange)) { return encoding.getName(); } } return Headers.IDENTITY.toString(); }
public HttpHandler createHttpHandler() { PathHandler pathHandler = new PathHandler(); pathHandler.addPrefixPath("/v1/invoke", new AllowedMethodsHandler(new HttpInvocationHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.POST)) .addPrefixPath("/v1/open", new AllowedMethodsHandler(new HttpSessionOpenHandler(association, executorService, localTransactionContext), Methods.POST)) .addPrefixPath("/v1/cancel", new AllowedMethodsHandler(new HttpCancelHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.DELETE)); EncodingHandler encodingHandler = new EncodingHandler(pathHandler, new ContentEncodingRepository().addEncodingHandler(Headers.GZIP.toString(), new GzipEncodingProvider(), 1)); RequestEncodingHandler requestEncodingHandler = new RequestEncodingHandler(encodingHandler); requestEncodingHandler.addEncoding(Headers.GZIP.toString(), GzipStreamSourceConduit.WRAPPER); return requestEncodingHandler; }