package com.jdroid.java.http.okhttp; import com.jdroid.java.http.AbstractHttpService; import com.jdroid.java.http.HttpServiceProcessor; import com.jdroid.java.http.MimeType; import com.jdroid.java.http.Server; import com.jdroid.java.http.post.BodyEnclosingHttpService; import java.util.List; import okhttp3.MediaType; import okhttp3.Request; import okhttp3.RequestBody; public abstract class OkBodyEnclosingHttpService extends OkHttpService implements BodyEnclosingHttpService { private String body; public OkBodyEnclosingHttpService(Server server, List<Object> urlSegments, List<HttpServiceProcessor> httpServiceProcessors) { super(server, urlSegments, httpServiceProcessors); } @Override protected void onConfigureRequestBuilder(Request.Builder builder) { RequestBody requestBody = null; if (body != null) { AbstractHttpService.LOGGER.debug("Body: " + body); requestBody = RequestBody.create(MediaType.parse(MimeType.JSON), body); } onConfigureRequestBuilder(builder, requestBody); } protected abstract void onConfigureRequestBuilder(Request.Builder builder, RequestBody requestBody); @Override public void setBody(String body) { this.body = body; } }