
develop.toolkit.base.struct.http.SenderHandler Maven / Gradle / Ivy
package develop.toolkit.base.struct.http;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
/**
* @author qiushui on 2020-09-11.
*/
@FunctionalInterface
public interface SenderHandler {
default HttpRequest.BodyPublisher bodyPublisher(Object requestBody) {
if (requestBody instanceof HttpRequest.BodyPublisher) {
return (HttpRequest.BodyPublisher) requestBody;
} else if (requestBody instanceof String) {
return HttpRequest.BodyPublishers.ofString((String) requestBody);
} else if (requestBody.getClass().isArray()) {
return HttpRequest.BodyPublishers.ofByteArray((byte[]) requestBody);
} else {
throw new AssertionError();
}
}
HttpResponse.BodyHandler bodyHandler();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy