/** * Creates the 101 Switching Protocols response message. */ private static FullHttpResponse createUpgradeResponse(CharSequence upgradeProtocol) { DefaultFullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, SWITCHING_PROTOCOLS, Unpooled.EMPTY_BUFFER, false); res.headers().add(HttpHeaderNames.CONNECTION, HttpHeaderValues.UPGRADE); res.headers().add(HttpHeaderNames.UPGRADE, upgradeProtocol); return res; }
private static void sendError(ChannelHandlerContext ctx, HttpResponseStatus status) { var response = new DefaultFullHttpResponse(HTTP_1_1, status, Unpooled.copiedBuffer("Failure: " + status + "\r\n", CharsetUtil.UTF_8)); response.headers().set(HttpConst.CONTENT_TYPE, Const.CONTENT_TYPE_TEXT); // Close the connection as soon as the error message is sent. ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE); }
private static void sendError(ChannelHandlerContext ctx, HttpResponseStatus status) { var response = new DefaultFullHttpResponse(HTTP_1_1, status, Unpooled.copiedBuffer("Failure: " + status + "\r\n", CharsetUtil.UTF_8)); response.headers().set(HttpConst.CONTENT_TYPE, Const.CONTENT_TYPE_TEXT); // Close the connection as soon as the error message is sent. ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE); }
private void appendCookie(Response response, DefaultFullHttpResponse httpResponse) { for (io.netty.handler.codec.http.cookie.Cookie next : response.cookiesRaw()) { httpResponse.headers().add(HttpConst.SET_COOKIE, io.netty.handler.codec.http.cookie.ServerCookieEncoder.LAX.encode(next)); } }
private void appendCookie(Response response, DefaultFullHttpResponse httpResponse) { for (io.netty.handler.codec.http.cookie.Cookie next : response.cookiesRaw()) { httpResponse.headers().add(HttpConst.SET_COOKIE, io.netty.handler.codec.http.cookie.ServerCookieEncoder.LAX.encode(next)); } }
private FullHttpResponse createResponseByByteBuf(Response response, ByteBuf byteBuf) { Map<String, String> headers = response.headers(); var httpResponse = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.valueOf(response.statusCode()), byteBuf); httpResponse.headers().set(CONTENT_LENGTH, httpResponse.content().readableBytes()); setDefaultHeaders(httpResponse.headers()); if (response.cookiesRaw().size() > 0) { this.appendCookie(response, httpResponse); } for (Map.Entry<String, String> next : headers.entrySet()) { httpResponse.headers().set(HttpConst.getAsciiString(next.getKey()), next.getValue()); } return httpResponse; }
private FullHttpResponse createResponseByByteBuf(Response response, ByteBuf byteBuf) { Map<String, String> headers = response.headers(); var httpResponse = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.valueOf(response.statusCode()), byteBuf); httpResponse.headers().set(CONTENT_LENGTH, httpResponse.content().readableBytes()); setDefaultHeaders(httpResponse.headers()); if (response.cookiesRaw().size() > 0) { this.appendCookie(response, httpResponse); } for (Map.Entry<String, String> next : headers.entrySet()) { httpResponse.headers().set(HttpConst.getAsciiString(next.getKey()), next.getValue()); } return httpResponse; }
private static void sendListing(ChannelHandlerContext ctx, String uri, List<FileMeta> listFiles, String dirPath) { var response = new DefaultFullHttpResponse(HTTP_1_1, OK); response.headers().set(HttpConst.CONTENT_TYPE, "text/html; charset=UTF-8"); StringBuilder buf = new StringBuilder() .append("<!DOCTYPE html>\r\n")
private static void sendListing(ChannelHandlerContext ctx, String uri, List<FileMeta> listFiles, String dirPath) { var response = new DefaultFullHttpResponse(HTTP_1_1, OK); response.headers().set(HttpConst.CONTENT_TYPE, "text/html; charset=UTF-8"); StringBuilder buf = new StringBuilder() .append("<!DOCTYPE html>\r\n")
private void send(final ByteBuf buffer) throws Exception { DefaultFullHttpResponse rsp = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, buffer); headers.remove(HttpHeaderNames.TRANSFER_ENCODING) .set(HttpHeaderNames.CONTENT_LENGTH, buffer.readableBytes()); ChannelPromise promise; if (keepAlive) { promise = ctx.voidPromise(); headers.set(HttpHeaderNames.CONNECTION, HttpHeaderValues.KEEP_ALIVE); } else { promise = ctx.newPromise(); } // dump headers rsp.headers().set(headers); Attribute<Boolean> async = ctx.channel().attr(NettyRequest.ASYNC); boolean flush = async != null && async.get() == Boolean.TRUE; final ChannelFuture future; if (flush) { future = ctx.writeAndFlush(rsp, promise); } else { future = ctx.write(rsp, promise); } if (!keepAlive) { future.addListener(CLOSE); } committed = true; }
ChannelPipeline pipeline = ctx.pipeline(); DefaultFullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, SWITCHING_PROTOCOLS, Unpooled.EMPTY_BUFFER, false); res.headers().add(HttpHeaderNames.CONNECTION, HttpHeaderValues.UPGRADE); res.headers().add(HttpHeaderNames.UPGRADE, Http2CodecUtil.HTTP_UPGRADE_PROTOCOL_NAME); res.headers().add(HttpHeaderNames.CONTENT_LENGTH, HttpHeaderValues.ZERO); ctx.writeAndFlush(res); pipeline.remove("httpEncoder"); res.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.CLOSE); ctx.writeAndFlush(res);
private void setCookies(HttpResponse response, DefaultFullHttpResponse fullHttpResponse) { if (response.getCookieList() != null) { List<Cookie> cookieValues = new ArrayList<Cookie>(); for (org.mockserver.model.Cookie cookie : response.getCookieList()) { if (!cookieHeaderAlreadyExists(response, cookie)) { cookieValues.add(new DefaultCookie(cookie.getName().getValue(), cookie.getValue().getValue())); } } for (Cookie cookieValue : cookieValues) { fullHttpResponse.headers().add(SET_COOKIE, ServerCookieEncoder.LAX.encode(cookieValue)); } } }
@Override public FullHttpResponse replace(ByteBuf content) { FullHttpResponse response = new DefaultFullHttpResponse(protocolVersion(), status(), content, headers().copy(), trailingHeaders().copy()); response.setDecoderResult(decoderResult()); return response; }
for (Header header : response.getHeaderList()) { for (NottableString value : header.getValues()) { fullHttpResponse.headers().add(header.getName().getValue(), value.getValue()); if (response.getBody() != null && response.getBody().getContentType() != null) { fullHttpResponse.headers().set(CONTENT_TYPE, response.getBody().getContentType()); boolean addContentLength = connectionOptions == null || isFalseOrNull(connectionOptions.getSuppressContentLengthHeader()); if (overrideContentLength) { fullHttpResponse.headers().set(CONTENT_LENGTH, connectionOptions.getContentLengthHeaderOverride()); } else if (addContentLength) { Body body = response.getBody(); fullHttpResponse.headers().set(CONTENT_LENGTH, bodyBytes.length);
HttpResponseStatus.OK, Unpooled.copiedBuffer("Hello World", StandardCharsets.UTF_8)); response.headers().set(HttpHeaderNames.CONTENT_LENGTH, "11"); internal.writeMessage(response, onSuccess(v -> complete()));
@OPTIONS @Path("/*") public static void handle(RakamHttpRequest request) { DefaultFullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.OK); response.headers().set(ACCESS_CONTROL_ALLOW_HEADERS, "Origin, X-Requested-With, Content-Type, Accept, master_key, read_key, write_key"); response.headers().set(ACCESS_CONTROL_EXPOSE_HEADERS, "_auto_action"); response.headers().set(ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, OPTIONS, PUT, DELETE"); request.response(response).end(); } }
@Path("/check") @GET public void check(RakamHttpRequest request) { DefaultFullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, FOUND, Unpooled.wrappedBuffer(new byte[]{})); response.headers().add("Location", client.getIdentityProviderUrl()); request.response(response).end(); }
public DefaultHttpResponse getEmptyHttpResponse() { DefaultFullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.valueOf(getStatus())); if (method == null || !method.equals(HttpMethod.HEAD)) //[RESTEASY-1627] { res.headers().add(HttpHeaderNames.CONTENT_LENGTH, EMPTY_CONTENT_LENGTH); } transformResponseHeaders(res); return res; }
@Override public FullHttpResponse copy() { DefaultFullHttpResponse copy = new DefaultFullHttpResponse( getProtocolVersion(), getStatus(), content().copy(), true); copy.headers().set(headers()); copy.trailingHeaders().set(trailingHeaders()); return copy; }
@Override public FullHttpResponse duplicate() { DefaultFullHttpResponse duplicate = new DefaultFullHttpResponse(getProtocolVersion(), getStatus(), content().duplicate(), true); duplicate.headers().set(headers()); duplicate.trailingHeaders().set(trailingHeaders()); return duplicate; } }