java-tutorials/spring-cucumber-demo/src/test/java/com/baeldung/HeaderSettingRequestCallback.java

34 lines
1.0 KiB
Java
Raw Normal View History

2016-07-26 09:43:09 -05:00
package com.baeldung;
import org.springframework.http.HttpHeaders;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.web.client.RequestCallback;
import java.io.IOException;
import java.util.Map;
public class HeaderSettingRequestCallback implements RequestCallback{
final Map<String,String> requestHeaders;
private String body;
public HeaderSettingRequestCallback(final Map<String, String> headers){
this.requestHeaders = headers;
}
public void setBody(final String postBody ){
this.body = postBody;
}
@Override
public void doWithRequest(ClientHttpRequest request) throws IOException{
final HttpHeaders clientHeaders = request.getHeaders();
for( final Map.Entry<String,String> entry : requestHeaders.entrySet() ){
clientHeaders.add(entry.getKey(),entry.getValue());
}
if( null != body ){
request.getBody().write( body.getBytes() );
}
}
}