@Override public HttpHeaders authority(String authority) { requireNonNull(authority, "authority"); set(HttpHeaderNames.AUTHORITY, authority); return this; }
@Override public HttpHeaders scheme(String scheme) { requireNonNull(scheme, "scheme"); set(HttpHeaderNames.SCHEME, scheme); return this; }
@Override public HttpHeaders path(String path) { requireNonNull(path, "path"); set(HttpHeaderNames.PATH, path); return this; }
@Override public HttpHeaders method(HttpMethod method) { requireNonNull(method, "method"); this.method = method; set(HttpHeaderNames.METHOD, method.name()); return this; }
@Override public HttpHeaders status(HttpStatus status) { requireNonNull(status, "status"); set(HttpHeaderNames.STATUS, status.codeAsText()); return this; }
@Override public HttpHeaders contentType(MediaType contentType) { requireNonNull(contentType, "contentType"); this.contentType = contentType; return set(HttpHeaderNames.CONTENT_TYPE, contentType.toString()); }
@Override public HttpHeaders status(int statusCode) { final HttpStatus status = this.status = HttpStatus.valueOf(statusCode); set(HttpHeaderNames.STATUS, status.codeAsText()); return this; }
final DefaultHttpHeaders headers = new DefaultHttpHeaders(); if (!additionalHeaders.isEmpty()) { headers.set(additionalHeaders);
@Override protected void configure(ServerBuilder sb) { sb.service("/trailers", ((ctx, req) -> { HttpResponseWriter writer = HttpResponse.streaming(); HttpHeaders headers = HttpHeaders.of(HttpStatus.OK); assertThat(headers.isEndOfStream()).isFalse(); HttpHeaders trailers = new DefaultHttpHeaders(true, 1, true) .set(HttpHeaderNames.of("armeria-message"), "error"); assertThat(trailers.isEndOfStream()).isTrue(); writer.write(headers); writer.write(trailers); writer.close(); return writer; })); sb.service("/trailers-only", ((ctx, req) -> { HttpResponseWriter writer = HttpResponse.streaming(); HttpHeaders trailers = new DefaultHttpHeaders(true, 1, true) .status(HttpStatus.OK) .set(HttpHeaderNames.of("armeria-message"), "error"); assertThat(trailers.isEndOfStream()).isTrue(); writer.write(trailers); writer.close(); return writer; })); sb.decorator(LoggingService.newDecorator()); } };