private WsResponse get(GetRequest getRequest) { HttpUrl.Builder urlBuilder = prepareUrlBuilder(getRequest); completeUrlQueryParameters(getRequest, urlBuilder); Request.Builder okRequestBuilder = prepareOkRequestBuilder(getRequest, urlBuilder).get(); return new OkHttpResponse(doCall(prepareOkHttpClient(okHttpClient, getRequest), okRequestBuilder.build())); }
private WsResponse post(PostRequest postRequest) { HttpUrl.Builder urlBuilder = prepareUrlBuilder(postRequest); RequestBody body; Map<String, PostRequest.Part> parts = postRequest.getParts(); if (parts.isEmpty()) { // parameters are defined in the body (application/x-www-form-urlencoded) FormBody.Builder formBody = new FormBody.Builder(); postRequest.getParameters().getKeys() .forEach(key -> postRequest.getParameters().getValues(key) .forEach(value -> formBody.add(key, value))); body = formBody.build(); } else { // parameters are defined in the URL (as GET) completeUrlQueryParameters(postRequest, urlBuilder); MultipartBody.Builder bodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); parts.entrySet().forEach(param -> { PostRequest.Part part = param.getValue(); bodyBuilder.addFormDataPart( param.getKey(), part.getFile().getName(), RequestBody.create(MediaType.parse(part.getMediaType()), part.getFile())); }); body = bodyBuilder.build(); } Request.Builder okRequestBuilder = prepareOkRequestBuilder(postRequest, urlBuilder).post(body); Response response = doCall(prepareOkHttpClient(noRedirectOkHttpClient, postRequest), okRequestBuilder.build()); response = checkRedirect(response, postRequest); return new OkHttpResponse(response); }
private WsResponse get(GetRequest getRequest) { HttpUrl.Builder urlBuilder = prepareUrlBuilder(getRequest); completeUrlQueryParameters(getRequest, urlBuilder); Request.Builder okRequestBuilder = prepareOkRequestBuilder(getRequest, urlBuilder).get(); return new OkHttpResponse(doCall(prepareOkHttpClient(okHttpClient, getRequest), okRequestBuilder.build())); }
private WsResponse post(PostRequest postRequest) { HttpUrl.Builder urlBuilder = prepareUrlBuilder(postRequest); RequestBody body; Map<String, PostRequest.Part> parts = postRequest.getParts(); if (parts.isEmpty()) { // parameters are defined in the body (application/x-www-form-urlencoded) FormBody.Builder formBody = new FormBody.Builder(); postRequest.getParameters().getKeys() .forEach(key -> postRequest.getParameters().getValues(key) .forEach(value -> formBody.add(key, value))); body = formBody.build(); } else { // parameters are defined in the URL (as GET) completeUrlQueryParameters(postRequest, urlBuilder); MultipartBody.Builder bodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); parts.entrySet().forEach(param -> { PostRequest.Part part = param.getValue(); bodyBuilder.addFormDataPart( param.getKey(), part.getFile().getName(), RequestBody.create(MediaType.parse(part.getMediaType()), part.getFile())); }); body = bodyBuilder.build(); } Request.Builder okRequestBuilder = prepareOkRequestBuilder(postRequest, urlBuilder).post(body); Response response = doCall(prepareOkHttpClient(noRedirectOkHttpClient, postRequest), okRequestBuilder.build()); response = checkRedirect(response, postRequest); return new OkHttpResponse(response); }