Refine search
/** * Returns HTTP response headers that should be added to a CORS preflight response. * * @return {@link HttpHeaders} the HTTP response headers to be added. */ public HttpHeaders preflightResponseHeaders() { if (preflightHeaders.isEmpty()) { return EmptyHttpHeaders.INSTANCE; } final HttpHeaders preflightHeaders = new DefaultHttpHeaders(); for (Entry<CharSequence, Callable<?>> entry : this.preflightHeaders.entrySet()) { final Object value = getValue(entry.getValue()); if (value instanceof Iterable) { preflightHeaders.add(entry.getKey(), (Iterable<?>) value); } else { preflightHeaders.add(entry.getKey(), value); } } return preflightHeaders; }
/** * Returns a deap copy of the passed in {@link HttpHeaders}. */ public HttpHeaders copy() { return new DefaultHttpHeaders().set(this); } }
private void upgradeChannel(final ChannelHandlerContext ctx, FullHttpRequest httpRequest) { handshaker = new WebSocketServerHandshakerFactory( "ws://" + httpRequest.headers().get(HOST) + UPGRADE_CHANNEL_FOR_CALLBACK_WEB_SOCKET_URI, null, true, ctx.channel(), httpRequest, new DefaultHttpHeaders().add("X-CLIENT-REGISTRATION-ID", clientId), ctx.channel().newPromise()
@Test public void testCookieParseMaxAge() { final String cookieDef = "efmembercheck=true; max-age=60; path=/; domain=.eclipse.org"; HttpHeaders responseHeaders = new DefaultHttpHeaders().add(SET_COOKIE, cookieDef); NettyResponse response = new NettyResponse(new NettyResponseStatus(null, null, null), responseHeaders, null); List<Cookie> cookies = response.getCookies(); assertEquals(cookies.size(), 1); Cookie cookie = cookies.get(0); assertEquals(cookie.maxAge(), 60); }
private void upgradeChannel(final ChannelHandlerContext ctx, FullHttpRequest httpRequest) { handshaker = new WebSocketServerHandshakerFactory( "ws://" + httpRequest.headers().get(HOST) + UPGRADE_CHANNEL_FOR_UI_WEB_SOCKET_URI, null, true, Integer.MAX_VALUE ).newHandshaker(httpRequest); if (handshaker == null) { WebSocketServerHandshakerFactory.sendUnsupportedVersionResponse(ctx.channel()); } else { handshaker.handshake( ctx.channel(), httpRequest, new DefaultHttpHeaders(), ctx.channel().newPromise() ).addListener(new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) throws Exception { clientRegistry.put(ctx, request()); } }); } }
private static HttpHeaders generateDefaultResponseHeaders(RequestInfo<?> request) { String base64EncodedPayload = base64Encode(request.getRawContentBytes()); return new DefaultHttpHeaders() .set(RECEIVED_PAYLOAD_BYTES_AS_BASE64_RESPONSE_HEADER_KEY, base64EncodedPayload) .set(RECEIVED_CONTENT_ENCODING_HEADER, String.valueOf(request.getHeaders().get(CONTENT_ENCODING))) .set(RECEIVED_CONTENT_LENGTH_HEADER, String.valueOf(request.getHeaders().get(CONTENT_LENGTH))) .set(RECEIVED_TRANSFER_ENCODING_HEADER, String.valueOf(request.getHeaders().get(TRANSFER_ENCODING))); }
@Test public void transferToShouldWriteStringPart() throws IOException, URISyntaxException { String text = FileUtils.readFileToString(TestUtils.resourceAsFile("test_sample_message.eml"), UTF_8); List<Part> parts = new ArrayList<>(); parts.add(new StringPart("test_sample_message.eml", text)); HttpHeaders headers = new DefaultHttpHeaders(); headers.set( "Cookie", "open-xchange-public-session-d41d8cd98f00b204e9800998ecf8427e=bfb98150b24f42bd844fc9ef2a9eaad5; open-xchange-secret-TSlq4Cm4nCBnDpBL1Px2A=9a49b76083e34c5ba2ef5c47362313fd; JSESSIONID=6883138728830405130.OX2"); headers.set("Content-Length", "9241"); headers.set("Content-Type", "multipart/form-data; boundary=5gigAKQyqDCVdlZ1fCkeLlEDDauTNoOOEhRnFg"); headers.set("Host", "appsuite.qa.open-xchange.com"); headers.set("Accept", "*/*"); String boundary = "uwyqQolZaSmme019O2kFKvAeHoC14Npp"; List<MultipartPart<? extends Part>> multipartParts = MultipartUtils.generateMultipartParts(parts, boundary.getBytes()); try (MultipartBody multipartBody = new MultipartBody(multipartParts, "multipart/form-data; boundary=" + boundary, boundary.getBytes())) { ByteBuf byteBuf = ByteBufAllocator.DEFAULT.buffer(8 * 1024); multipartBody.transferTo(byteBuf); try { byteBuf.toString(StandardCharsets.UTF_8); } finally { byteBuf.release(); } } }
public void storeEvents(RakamHttpRequest request, ThrowableFunction mapper, BiFunction<List<Event>, HttpHeaders, CompletableFuture<FullHttpResponse>> responseFunction, boolean mapEvents) { request.bodyHandler(buff -> { DefaultHttpHeaders responseHeaders = new DefaultHttpHeaders(); responseHeaders.set(ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); if (request.headers().contains(ORIGIN)) { responseHeaders.set(ACCESS_CONTROL_ALLOW_ORIGIN, request.headers().get(ORIGIN)); String headerList = getHeaderList(responseHeaders.iterator()); if (headerList != null) { responseHeaders.set(ACCESS_CONTROL_EXPOSE_HEADERS, headerList); responseHeaders.add(CONTENT_TYPE, "application/json"); responseHeaders.add(SET_COOKIE, STRICT.encode(value)); } else { if (value != null) { responseHeaders.add(SET_COOKIE, STRICT.encode(value));
/** * Default constructor. */ public NettyHttpHeaders() { this.nettyHeaders = new DefaultHttpHeaders(false); this.conversionService = ConversionService.SHARED; }
@Override public CompletableFuture<ResponseInfo<String>> execute(RequestInfo<Void> request, Executor longRunningTaskExecutor, ChannelHandlerContext ctx) { int statusCode = Integer.parseInt(request.getHeaders().get(DESIRED_HTTP_RESPONSE_CODE)); return CompletableFuture.completedFuture( ResponseInfo.newBuilder(RESPONSE_PAYLOAD) .withHttpStatusCode(statusCode) .withHeaders(new DefaultHttpHeaders().set(CONTENT_TYPE, SPECIFIED_CONTENT_TYPE)) .build() ); }
List<String> wwwAuthHeaders = response.headers().getAll(WWW_AUTHENTICATE); HttpHeaders requestHeaders = new DefaultHttpHeaders(false).add(request.getHeaders());
exchange); final DefaultHttpHeaders httpHeaders = new DefaultHttpHeaders(); filtered.forEach(httpHeaders::set); res.responseHeaders().forEach(entry -> headers.add(entry.getKey(), entry.getValue()));
private HttpHeaders filterHeaders(HttpHeaders headers, Set<String> removedHeaders) { return headers.entries() .stream() .filter(entry -> !removedHeaders.contains(entry.getKey() .toLowerCase(ENGLISH))) .collect(DefaultHttpHeaders::new, (h, e) -> h.set(e.getKey(), e.getValue()), HttpHeaders::set); } }
/** * Adds a new header with the specified {@code name} and {@code value}. * <p/> * Will not replace any existing values for the header. * * @param name The name of the header * @param value The value of the header * @return this builder */ public Builder add(CharSequence name, Object value) { this.nettyHeaders.add(name, checkNotNull(value)); return this; }
@Override public boolean contains(String name) { return contains((CharSequence) name); }
@Override public void channelRead0(final ChannelHandlerContext ctx, final Object msg) { if (msg instanceof HttpRequest) { ctx.channel().attr(NettyRequest.NEED_FLUSH).set(true); HttpRequest req = (HttpRequest) msg; ctx.channel().attr(PATH).set(req.method().name() + " " + req.uri()); if (HttpUtil.is100ContinueExpected(req)) { ctx.write(new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.CONTINUE)); } boolean keepAlive = HttpUtil.isKeepAlive(req); try { String streamId = req.headers().get(STREAM_ID); HttpHeaders headers = new DefaultHttpHeaders(); handler.handle( new NettyRequest(ctx, req, headers, tmpdir, wsMaxMessageSize), new NettyResponse(ctx, headers, bufferSize, keepAlive, streamId)); } catch (Throwable ex) { exceptionCaught(ctx, ex); } } else if (msg instanceof WebSocketFrame) { Attribute<NettyWebSocket> ws = ctx.channel().attr(NettyWebSocket.KEY); ws.get().handle(msg); } }
@Override protected TTransport newTransport(String uri, HttpHeaders headers) throws TTransportException { final io.netty.handler.codec.http.HttpHeaders nettyDefaultHeaders = new DefaultHttpHeaders(); headers.names().forEach(name -> nettyDefaultHeaders.set(name, headers.getAll(name))); return new THttp2Client(uri, nettyDefaultHeaders); } }
@Test public void testCookieParseExpires() { // e.g. "Tue, 27 Oct 2015 12:54:24 GMT"; SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = new Date(System.currentTimeMillis() + 60000); final String cookieDef = String.format("efmembercheck=true; expires=%s; path=/; domain=.eclipse.org", sdf.format(date)); HttpHeaders responseHeaders = new DefaultHttpHeaders().add(SET_COOKIE, cookieDef); NettyResponse response = new NettyResponse(new NettyResponseStatus(null, null, null), responseHeaders, null); List<Cookie> cookies = response.getCookies(); assertEquals(cookies.size(), 1); Cookie cookie = cookies.get(0); assertTrue(cookie.maxAge() >= 58 && cookie.maxAge() <= 60); }
@Override public HttpHeaders trailingHeaders() { return new DefaultHttpHeaders(); }
List<String> proxyAuthHeaders = response.headers().getAll(PROXY_AUTHENTICATE); HttpHeaders requestHeaders = new DefaultHttpHeaders(false).add(request.getHeaders());