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

io.gs2.core.net.HttpTaskBuilder Maven / Gradle / Ivy

The newest version!
package io.gs2.core.net;


import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class HttpTaskBuilder {

    private HttpTask.Method method;
    private String url;
    private Map headers = new HashMap<>();
    private byte[] body;
    private IResponseHandler handler;

    private HttpTaskBuilder() {}

    public static  HttpTaskBuilder create() {
        return new HttpTaskBuilder();
    }

    public HttpTaskBuilder setMethod(HttpTask.Method method) {
        this.method = method;
        return this;
    }

    public HttpTaskBuilder setUrl(String url) {
        this.url = url;
        return this;
    }

    public HttpTaskBuilder setHeader(String key, String value) {
        this.headers.put(key, value);
        return this;
    }

    public HttpTaskBuilder setBody(byte[] body) {
        this.body = body;
        return this;
    }

    public HttpTaskBuilder setHttpResponseHandler(IResponseHandler handler) {
        this.handler = handler;
        return this;
    }

    public HttpTask build() {
        HttpTask httpTask = new HttpTask(method, url, handler);
        for (Map.Entry entry : headers.entrySet()) {
            httpTask.addHeaderEntry(entry.getKey(), entry.getValue());
        }
        if (method == HttpTask.Method.POST || method == HttpTask.Method.PUT) {
            httpTask.setBody(body);
        }
        return httpTask;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy