@Override public Eventual<LiveHttpResponse> handle(LiveHttpRequest request, HttpInterceptor.Context context) { HttpResponse.Builder responseBuilder = standardResponse.newBuilder() .headers(request.headers()) .header(STUB_ORIGIN_INFO, origin.applicationInfo()); return Eventual.of(Optional.ofNullable(responseBuilder) .map(it -> request.queryParam("status") .map(status -> it.status(httpResponseStatus(status)) .body("Returning requested status (" + status + ")", UTF_8)) .orElse(it)) .map(it -> request.queryParam("length") .map(length -> it.body(generateContent(parseInt(length)), UTF_8)) .orElse(it)) .orElse(responseBuilder) .build() .stream()); }
private Builder(HttpResponse response) { this.request = response.request; this.status = response.status; headers(response.headers.newBuilder()); this.cookies = new ArrayList<>(response.cookies); version(response.version); body(response.body); }
private HttpResponse(Builder builder) { this.request = builder.request; this.version = builder.version(); this.status = builder.status; this.headers = builder.headers().build(); this.cookies = ImmutableList.copyOf(builder.cookies); this.body = builder.body(); }
static HttpResponse toStyxResponse(Response response) { HttpHeaders headers = toStyxHeaders(response.getHeaders()); byte[] body = response.getBody(); return HttpResponse.response(statusWithCode(response.getStatus())) .headers(headers) .body(body, false) .build(); }
/** * Creates a builder with a status code. * * @param status status code */ public Builder(HttpResponseStatus status) { this.status = status; headers(new HttpHeaders.Builder()); }
public Builder(FullHttpResponse response, Observable<ByteBuf> body) { this.status = HttpResponseStatus.valueOf(response.status().code()); headers(response.headers().newBuilder()); this.cookies = new ArrayList<>(response.cookies()); version(HttpVersion.valueOf(response.version().toString())); body(body); }