package org.webpieces.httpcommon; import org.webpieces.data.api.DataWrapper; import org.webpieces.httpparser.api.common.Header; import org.webpieces.httpparser.api.common.KnownHeaderName; import org.webpieces.httpparser.api.dto.HttpResponse; import org.webpieces.httpparser.api.dto.HttpResponseStatus; import org.webpieces.httpparser.api.dto.HttpResponseStatusLine; import org.webpieces.httpparser.api.dto.KnownStatusCode; public class Responses { public static HttpResponse createResponse(KnownStatusCode status, DataWrapper body) { HttpResponse resp = new HttpResponse(); HttpResponseStatusLine statusLine = new HttpResponseStatusLine(); HttpResponseStatus statusCode = new HttpResponseStatus(); statusCode.setKnownStatus(status); statusLine.setStatus(statusCode); resp.setStatusLine(statusLine); resp.setBody(body); resp.addHeader(new Header(KnownHeaderName.CONTENT_LENGTH, Integer.toString(body.getReadableSize()))); return resp; } public static HttpResponse copyResponseExceptBody(HttpResponse response) { HttpResponse newResponse = new HttpResponse(); newResponse.setStatusLine(response.getStatusLine()); response.getHeaders().forEach(newResponse::addHeader); return newResponse; } }