TransportResponseContext.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.utils.transport;
import java.util.List;
import java.util.Map;
import org.openspcoop2.utils.LoggerWrapperFactory;
import org.openspcoop2.utils.UtilsException;
import org.openspcoop2.utils.transport.http.HttpConstants;
import org.slf4j.Logger;
/**
* TransportResponseContext
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class TransportResponseContext implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/* ---- Coppie nome/valori di invocazione inserite nell'header del trasporto --- */
protected Map<String, List<String>> headers;
protected String codiceTrasporto = null;
protected long contentLength = -1;
protected String errore = null;
protected Exception exception = null;
protected Logger log = null;
public TransportResponseContext() throws UtilsException{
this(null);
}
public TransportResponseContext(Logger log) throws UtilsException{
if(log==null) {
this.log = LoggerWrapperFactory.getLogger(TransportResponseContext.class);
}
else {
this.log = log;
}
}
@Deprecated
public TransportResponseContext(Map<String, String> parametersTrasporto,String codiceTrasporto,long contentLength,String errore,Exception exception) throws UtilsException{
this(null, codiceTrasporto, TransportUtils.convertToMapListValues(parametersTrasporto), contentLength, errore, exception);
}
@Deprecated
public TransportResponseContext(Logger log, Map<String, String> parametersTrasporto,String codiceTrasporto,long contentLength,String errore,Exception exception) throws UtilsException{
this(log, codiceTrasporto, TransportUtils.convertToMapListValues(parametersTrasporto), contentLength, errore, exception);
}
@Deprecated
public TransportResponseContext(String codiceTrasporto,Map<String, List<String>> headers,long contentLength,String errore,Exception exception) throws UtilsException{
this(null, codiceTrasporto, headers, contentLength, errore, exception);
}
public TransportResponseContext(Logger log, String codiceTrasporto,Map<String, List<String>> headers,long contentLength,String errore,Exception exception) throws UtilsException{
if(log==null) {
this.log = LoggerWrapperFactory.getLogger(TransportResponseContext.class);
}
else {
this.log = log;
}
this.headers = headers;
this.codiceTrasporto = codiceTrasporto;
this.contentLength = contentLength;
this.errore = errore;
this.exception = exception;
}
public String getCodiceTrasporto() {
return this.codiceTrasporto;
}
public long getContentLength() {
return this.contentLength;
}
public String getErrore() {
return this.errore;
}
@Deprecated
public Map<String, String> getParametersTrasporto() {
return TransportUtils.convertToMapSingleValue(this.headers);
}
public Map<String, List<String>> getHeaders(){
return this.headers;
}
@Deprecated
public String getParameterTrasporto(String name){
if(this.headers==null){
return null;
}
return TransportUtils.getObjectAsString(this.headers, name);
}
public String getHeader_compactMultipleValues(String name){
if(this.headers==null){
return null;
}
return TransportUtils.getObjectAsString(this.headers, name);
}
public String getHeaderFirstValue(String name){
List<String> l = getHeaderValues(name);
if(l!=null && !l.isEmpty()) {
return l.get(0);
}
return null;
}
public List<String> getHeaderValues(String name){
if(this.headers==null){
return null;
}
return TransportUtils.getRawObject(this.headers, name);
}
@Deprecated
public Object removeParameterTrasporto(String name){
if(this.headers==null){
return null;
}
return TransportUtils.removeObjectAsString(this.headers, name);
}
public String removeHeader_compactMultipleValues(String name){
if(this.headers==null){
return null;
}
return TransportUtils.removeObjectAsString(this.headers, name);
}
public List<String> removeHeader(String name){
if(this.headers==null){
return null;
}
return TransportUtils.removeRawObject(this.headers, name);
}
public String getContentType(){
if(this.headers!=null){
return this.getHeaderFirstValue(HttpConstants.CONTENT_TYPE);
}
return null;
}
public void setCodiceTrasporto(String codiceTrasporto) {
this.codiceTrasporto = codiceTrasporto;
}
public void setContentLength(long contentLength) {
this.contentLength = contentLength;
}
public void setErrore(String errore) {
this.errore = errore;
}
@Deprecated
public void setParametersTrasporto(Map<String, String> parametersTrasporto) {
this.headers = TransportUtils.convertToMapListValues(parametersTrasporto);
}
public void setHeaders(Map<String, List<String>> parametersFormBased) {
this.headers = parametersFormBased;
}
}