Search in sources :

Example 1 with HttpStatus

use of io.servicecomb.core.context.HttpStatus in project java-chassis by ServiceComb.

the class SpringmvcProducerResponseMapper method mapResponse.

@SuppressWarnings("unchecked")
@Override
public Response mapResponse(StatusType status, Object response) {
    ResponseEntity<Object> springmvcResponse = (ResponseEntity<Object>) response;
    StatusType responseStatus = new HttpStatus(springmvcResponse.getStatusCode().value(), springmvcResponse.getStatusCode().getReasonPhrase());
    Response cseResponse = Response.status(responseStatus).entity(springmvcResponse.getBody());
    HttpHeaders headers = springmvcResponse.getHeaders();
    Headers cseHeaders = cseResponse.getHeaders();
    for (Entry<String, List<String>> entry : headers.entrySet()) {
        if (entry.getValue() == null || entry.getValue().isEmpty()) {
            continue;
        }
        for (String value : entry.getValue()) {
            cseHeaders.addHeader(entry.getKey(), value);
        }
    }
    return cseResponse;
}
Also used : Response(io.servicecomb.core.Response) HttpHeaders(org.springframework.http.HttpHeaders) ResponseEntity(org.springframework.http.ResponseEntity) HttpStatus(io.servicecomb.core.context.HttpStatus) StatusType(javax.ws.rs.core.Response.StatusType) Headers(io.servicecomb.swagger.invocation.response.Headers) HttpHeaders(org.springframework.http.HttpHeaders) List(java.util.List)

Example 2 with HttpStatus

use of io.servicecomb.core.context.HttpStatus in project java-chassis by ServiceComb.

the class TestConfig method testHttpStatus.

@Test
public void testHttpStatus() {
    StatusType oStatus = new HttpStatus(204, "InternalServerError");
    Assert.assertEquals("InternalServerError", oStatus.getReasonPhrase());
}
Also used : HttpStatus(io.servicecomb.core.context.HttpStatus) StatusType(javax.ws.rs.core.Response.StatusType) Test(org.junit.Test)

Aggregations

HttpStatus (io.servicecomb.core.context.HttpStatus)2 StatusType (javax.ws.rs.core.Response.StatusType)2 Response (io.servicecomb.core.Response)1 Headers (io.servicecomb.swagger.invocation.response.Headers)1 List (java.util.List)1 Test (org.junit.Test)1 HttpHeaders (org.springframework.http.HttpHeaders)1 ResponseEntity (org.springframework.http.ResponseEntity)1