All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mkopylec.charon.forwarding.HttpResponseMapper Maven / Gradle / Ivy

The newest version!
package com.github.mkopylec.charon.forwarding;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.http.ResponseEntity;

import java.io.IOException;

class HttpResponseMapper {

    void map(ResponseEntity responseEntity, HttpServletResponse response) throws IOException {
        setStatus(responseEntity, response);
        setHeaders(responseEntity, response);
        setBody(responseEntity, response);
    }

    private void setStatus(ResponseEntity responseEntity, HttpServletResponse response) {
        response.setStatus(responseEntity.getStatusCode().value());
    }

    private void setHeaders(ResponseEntity responseEntity, HttpServletResponse response) {
        responseEntity.getHeaders().forEach((name, values) -> values.forEach(value -> response.addHeader(name, value)));
    }

    private void setBody(ResponseEntity responseEntity, HttpServletResponse response) throws IOException {
        if (responseEntity.getBody() != null) {
            response.getOutputStream().write(responseEntity.getBody());
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy