@Override public RequestFixture header(CharSequence name, String value) { requestHeaders.add(name, value); return this; }
@Override public MutableHeaders setDate(CharSequence name, Date value) { wrapped.set(name, value); return this; }
@Override public MultiValueMap<String, String> asMultiValueMap() { return wrapped.asMultiValueMap(); }
private void finalizeHeaders() { if (requestConfig.headers.get(HttpHeaderConstants.HOST) == null) { HostAndPort hostAndPort = HostAndPort.fromParts(channelKey.host, channelKey.port); requestConfig.headers.set(HttpHeaderConstants.HOST, hostAndPort.toString()); } if (client.getPoolSize() == 0) { requestConfig.headers.set(HttpHeaderConstants.CONNECTION, HttpHeaderValues.CLOSE); } int contentLength = requestConfig.body.readableBytes(); if (contentLength > 0) { requestConfig.headers.set(HttpHeaderConstants.CONTENT_LENGTH, Integer.toString(contentLength)); } }
/** * {@inheritDoc} */ @Override public void render(Context context) throws Exception { Response response = context.getResponse(); response.getHeaders().add(HttpHeaderConstants.TRANSFER_ENCODING, HttpHeaderConstants.CHUNKED); response.getHeaders().set(HttpHeaderConstants.CONTENT_TYPE, getContentType()); Publisher<? extends ByteBuf> publisher = publisher(context.get(ByteBufAllocator.class)); response.sendStream(publisher); }
@Override public void forwardTo(Response response, Action<? super MutableHeaders> headerMutator) { MutableHeaders outgoingHeaders = response.getHeaders(); outgoingHeaders.copy(headers); outgoingHeaders.remove(HttpHeaderNames.CONNECTION); Exceptions.uncheck(() -> headerMutator.execute(outgoingHeaders)); response.status(status);
@Nullable @Override public String get(CharSequence name) { return wrapped.get(name); }
@Nullable @Override public Date getDate(CharSequence name) { return wrapped.getDate(name); }
@Override public MutableHeaders copy(Headers headers) { this.wrapped.copy(headers); if (headers.contains(HttpHeaderConstants.CONTENT_TYPE)) { contentTypeSet = true; } return this; }
@Override public boolean contains(String name) { return wrapped.contains(name); }
@Override public List<String> getAll(String name) { return wrapped.getAll(name); }
@Override public MutableHeaders clear() { contentTypeSet = false; wrapped.clear(); return this; }
@Override public Set<String> getNames() { return wrapped.getNames(); }
@Nullable @Override public String get(String name) { return wrapped.get(name); }
@Override @Nullable public Date getDate(String name) { return wrapped.getDate(name); }
@Override public void forwardTo(Response response) { response.getHeaders().copy(headers); response.status(status); ByteBuf buffer = typedData.getBuffer(); if (buffer.readableBytes() > 0) { response.send(buffer.retain()); } else { buffer.release(); response.send(); } }
@Override public boolean contains(CharSequence name) { return wrapped.contains(name); }
@Override public List<String> getAll(CharSequence name) { return wrapped.getAll(name); }