@Override public MultiMap headers() { if (headers == null) { HttpHeaders reqHeaders = request.headers(); if (reqHeaders instanceof MultiMap) { headers = (MultiMap) reqHeaders; } else { headers = new HeadersAdaptor(reqHeaders); } } return headers; }
private HttpRequest createRequest(HttpMethod method, String rawMethod, String uri, MultiMap headers) { DefaultHttpRequest request = new DefaultHttpRequest(HttpUtils.toNettyHttpVersion(conn.version), HttpUtils.toNettyHttpMethod(method, rawMethod), uri, false); if (headers != null) { for (Map.Entry<String, String> header : headers) { // Todo : multi valued headers request.headers().add(header.getKey(), header.getValue()); } } return request; }
HttpServerResponseImpl(final VertxInternal vertx, Http1xServerConnection conn, DefaultHttpRequest request, Object requestMetric) { this.vertx = vertx; this.conn = conn; this.version = request.protocolVersion(); this.headers = new VertxHttpHeaders(); this.status = HttpResponseStatus.OK; this.requestMetric = requestMetric; this.keepAlive = (version == HttpVersion.HTTP_1_1 && !request.headers().contains(io.vertx.core.http.HttpHeaders.CONNECTION, HttpHeaders.CLOSE, true)) || (version == HttpVersion.HTTP_1_0 && request.headers().contains(io.vertx.core.http.HttpHeaders.CONNECTION, HttpHeaders.KEEP_ALIVE, true)); this.head = request.method() == io.netty.handler.codec.http.HttpMethod.HEAD; }
/** * Adapts an SDK {@link Request} object to a Netty {@link HttpRequest}. */ public static HttpRequest adapt(Request<?> sdkRequest) { String uri = uriFrom(sdkRequest); HttpMethod method = toNettyHttpMethod(sdkRequest.getHttpMethod()); DefaultHttpRequest request = new DefaultHttpRequest(HttpVersion.HTTP_1_1, method, uri, new DefaultHttpHeaders()); for (Map.Entry<String, String> header : sdkRequest.getHeaders().entrySet()) { request.headers().add(header.getKey(), resolveValue(header.getValue())); } return request; }
private HttpRequest buildOriginHttpRequest(final HttpRequestMessage zuulRequest) { final String method = zuulRequest.getMethod().toUpperCase(); final String uri = pathAndQueryString(zuulRequest); customRequestProcessing(zuulRequest); final DefaultHttpRequest nettyReq = new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.valueOf(method), uri, false); // Copy headers across. for (final Header h : zuulRequest.getHeaders().entries()) { nettyReq.headers().add(h.getKey(), h.getValue()); } return nettyReq; }
@SuppressWarnings("unused") private HttpRequest copy(String uri, HttpRequest request) { HttpRequest nue = request; if (request instanceof DefaultFullHttpRequest) { DefaultFullHttpRequest dfr = (DefaultFullHttpRequest) request; FullHttpRequest rq; try { rq = dfr.copy(); } catch (IllegalReferenceCountException e) { // Empty byteBuf rq = dfr; } rq.setUri(uri); } else { DefaultHttpRequest dfr = new DefaultHttpRequest(request.protocolVersion(), request.method(), uri); dfr.headers().set(request.headers()); nue = dfr; } return nue; } }
@Override public HttpServerRequest setExpectMultipart(boolean expect) { synchronized (conn) { checkEnded(); if (expect) { if (decoder == null) { String contentType = request.headers().get(HttpHeaderNames.CONTENT_TYPE); if (contentType != null) { HttpMethod method = request.method(); if (isValidMultipartContentType(contentType) && isValidMultipartMethod(method)) { decoder = new HttpPostRequestDecoder(new NettyFileUploadDataFactory(conn.getContext(), this, () -> uploadHandler), request); } } } } else { decoder = null; } return this; } }
@Override public FullHttpRequest copy() { if (request instanceof FullHttpRequest) { return new EmptyHttpRequest(((FullHttpRequest) request).copy()); } else { DefaultHttpRequest copy = new DefaultHttpRequest(protocolVersion(), method(), uri()); copy.headers().set(headers()); return new EmptyHttpRequest(copy); } }
nettyReq.uri(), body.getByteBuf(), nettyReq.headers(), EmptyHttpHeaders.INSTANCE );
private HttpRequest buildOriginHttpRequest(final HttpRequestMessage zuulRequest) { final String method = zuulRequest.getMethod().toUpperCase(); final String uri = pathAndQueryString(zuulRequest); customRequestProcessing(zuulRequest); final DefaultHttpRequest nettyReq = new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.valueOf(method), uri, false); // Copy headers across. for (final Header h : zuulRequest.getHeaders().entries()) { nettyReq.headers().add(h.getKey(), h.getValue()); } return nettyReq; }
@Override public MultiMap headers() { if (headers == null) { HttpHeaders reqHeaders = request.headers(); if (reqHeaders instanceof MultiMap) { headers = (MultiMap) reqHeaders; } else { headers = new HeadersAdaptor(reqHeaders); } } return headers; }
private HttpRequest createRequest(HttpMethod method, String rawMethod, String uri, MultiMap headers) { DefaultHttpRequest request = new DefaultHttpRequest(HttpUtils.toNettyHttpVersion(conn.version), HttpUtils.toNettyHttpMethod(method, rawMethod), uri, false); if (headers != null) { for (Map.Entry<String, String> header : headers) { // Todo : multi valued headers request.headers().add(header.getKey(), header.getValue()); } } return request; }
HttpServerResponseImpl(final VertxInternal vertx, Http1xServerConnection conn, DefaultHttpRequest request, Object requestMetric) { this.vertx = vertx; this.conn = conn; this.version = request.protocolVersion(); this.headers = new VertxHttpHeaders(); this.status = HttpResponseStatus.OK; this.requestMetric = requestMetric; this.keepAlive = (version == HttpVersion.HTTP_1_1 && !request.headers().contains(io.vertx.core.http.HttpHeaders.CONNECTION, HttpHeaders.CLOSE, true)) || (version == HttpVersion.HTTP_1_0 && request.headers().contains(io.vertx.core.http.HttpHeaders.CONNECTION, HttpHeaders.KEEP_ALIVE, true)); this.head = request.method() == io.netty.handler.codec.http.HttpMethod.HEAD; }
uriRequest.getUri(), byteBuf); if (entity.getContentType() != null) { uriRequest.headers().add(HttpHeaders.CONTENT_TYPE, entity.getContentType().toString()); uriRequest.headers().add(HttpHeaders.TRANSFER_ENCODING, io.netty.handler.codec.http.HttpHeaders.Values.CHUNKED); } else { uriRequest.headers().add(HttpHeaders.CONTENT_LENGTH, entity.getContentLength()); uriRequest.headers().set(header.getKey(), header.getValue()); uriRequest.headers().set(HttpHeaders.ACCEPT_CHARSET, Consts.UTF_8.displayName()); uriRequest.headers().set(HttpHeaders.CONNECTION, io.netty.handler.codec.http.HttpHeaders.Values.CLOSE); return uriRequest;
@Override public HttpServerRequest setExpectMultipart(boolean expect) { synchronized (conn) { checkEnded(); if (expect) { if (decoder == null) { String contentType = request.headers().get(HttpHeaderNames.CONTENT_TYPE); if (contentType != null) { HttpMethod method = request.method(); if (isValidMultipartContentType(contentType) && isValidMultipartMethod(method)) { decoder = new HttpPostRequestDecoder(new NettyFileUploadDataFactory(conn.getContext(), this, () -> uploadHandler), request); } } } } else { decoder = null; } return this; } }
nettyReq.uri(), body.getByteBuf(), nettyReq.headers(), EmptyHttpHeaders.INSTANCE );
/** * build headers * @param httpRequest io.netty.httprequest * @param request cicada request */ private static void buildHeaders(DefaultHttpRequest httpRequest, CicadaHttpRequest request) { for (Map.Entry<String, String> entry : httpRequest.headers().entries()) { request.headers.put(entry.getKey(),entry.getValue()); } }
private io.netty.handler.codec.http.HttpRequest makeRequest(LiveHttpRequest request) { DefaultHttpRequest nettyRequest = toNettyRequest(request); Optional<String> host = request.header(HOST); if (!host.isPresent()) { nettyRequest.headers().set(HOST, nettyConnection.getOrigin().hostAndPortString()); } return nettyRequest; } }
public HttpRequest adapt(SdkHttpRequest sdkRequest) { HttpMethod method = toNettyHttpMethod(sdkRequest.method()); HttpHeaders headers = new DefaultHttpHeaders(); String uri = sdkRequest.getUri().toString(); DefaultHttpRequest request = new DefaultHttpRequest(HttpVersion.HTTP_1_1, method, uri, headers); sdkRequest.headers().forEach(request.headers()::add); return request; }
@Override public FullHttpRequest copy() { if (request instanceof FullHttpRequest) { return new EmptyHttpRequest(((FullHttpRequest) request).copy()); } else { DefaultHttpRequest copy = new DefaultHttpRequest(protocolVersion(), method(), uri()); copy.headers().set(headers()); return new EmptyHttpRequest(copy); } }