com.qcloud.cos.internal.ResponseHeaderHandlerChain Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cos_api Show documentation
Show all versions of cos_api Show documentation
qcloud cos sdk for inner tencentyun
The newest version!
package com.qcloud.cos.internal;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import com.qcloud.cos.http.CosHttpResponse;
/**
* An XML response handler that can also process an arbitrary number of headers
* in the response.
*/
public class ResponseHeaderHandlerChain extends COSXmlResponseHandler {
private final List> headerHandlers;
public ResponseHeaderHandlerChain(Unmarshaller responseUnmarshaller, HeaderHandler... headerHandlers) {
super(responseUnmarshaller);
this.headerHandlers = Arrays.asList(headerHandlers);
}
@Override
public CosServiceResponse handle(CosHttpResponse response) throws Exception {
CosServiceResponse cseResponse = super.handle(response);
T result = cseResponse.getResult();
if (result != null) {
for (HeaderHandler handler : headerHandlers) {
handler.handle(result, response);
}
}
return cseResponse;
}
}