All Downloads are FREE. Search and download functionalities are using the official Maven repository.

develop.toolkit.base.struct.http.SenderHandler Maven / Gradle / Ivy

There is a newer version: 1.0.6
Show newest version
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