java-tutorials/spring-cucumber/src/test/java/com/baeldung/HeaderSettingRequestCallback.java
2016-08-02 12:34:08 +03:00

33 lines
998 B
Java

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());
}
}
}