类com.squareup.okhttp.RequestBody源码实例Demo

下面列出了怎么用com.squareup.okhttp.RequestBody的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Pas   文件: DOkHttp.java
/**
 * 上传文件
 * 也可以和数据post一起提交 监听progress
 * @param requestBody
 * @param uIchangeListener
 */
public void uploadPost2ServerProgress(Context context,String url, RequestBody requestBody,
                                      MyCallBack myCallBack, final UIchangeListener uIchangeListener){

    ProgressRequestBody progressRequestBody=ProgressHelper.addProgressRequestListener(requestBody, new UIProgressRequestListener() {
        @Override
        public void onUIRequestProgress(long bytesWrite, long contentLength, boolean done) {
            uIchangeListener.progressUpdate(bytesWrite,contentLength,done);
        }
    });

    Request request=new Request.Builder()
            .tag(context)
            .post(progressRequestBody)
            .url(url)
            .build();

    postData2Server(request,myCallBack);

}
 
源代码2 项目: wind-im   文件: ZalyHttpClient.java
public byte[] postBytes(String url, byte[] bytes) throws IOException {
	ResponseBody body = null;
	try {
		RequestBody postBody = RequestBody.create(JSON, bytes);
		Request request = new Request.Builder().url(url).post(postBody).build();
		Response response = httpClient.newCall(request).execute();
		if (response.isSuccessful()) {
			body = response.body();
			byte[] res = body.bytes();
			return res;
		} else {
			logger.error("http post error.{}", response.message());
		}
	} finally {
		if (body != null) {
			body.close();
		}
	}
	return null;
}
 
源代码3 项目: openzaly   文件: ZalyHttpClient.java
public byte[] postBytes(String url, byte[] bytes) throws IOException {
	ResponseBody body = null;
	try {
		RequestBody postBody = RequestBody.create(JSON, bytes);
		Request request = new Request.Builder().url(url).post(postBody).build();
		Response response = httpClient.newCall(request).execute();
		if (response.isSuccessful()) {
			body = response.body();
			byte[] res = body.bytes();
			return res;
		} else {
			logger.error("http post error.{}", response.message());
		}
	} finally {
		if (body != null) {
			body.close();
		}
	}
	return null;
}
 
源代码4 项目: tencentcloud-sdk-java   文件: HttpConnection.java
public Response postRequest(String url, String body, Headers headers)
    throws TencentCloudSDKException {
  MediaType contentType = MediaType.parse(headers.get("Content-Type"));
  Request request = null;
  try {
    request =
        new Request.Builder()
            .url(url)
            .post(RequestBody.create(contentType, body))
            .headers(headers)
            .build();
  } catch (IllegalArgumentException e) {
    throw new TencentCloudSDKException(e.getClass().getName() + "-" + e.getMessage());
  }

  return this.doRequest(request);
}
 
源代码5 项目: tencentcloud-sdk-java   文件: HttpConnection.java
public Response postRequest(String url, byte[] body, Headers headers)
    throws TencentCloudSDKException {
  MediaType contentType = MediaType.parse(headers.get("Content-Type"));
  Request request = null;
  try {
    request =
        new Request.Builder()
            .url(url)
            .post(RequestBody.create(contentType, body))
            .headers(headers)
            .build();
  } catch (IllegalArgumentException e) {
    throw new TencentCloudSDKException(e.getClass().getName() + "-" + e.getMessage());
  }

  return this.doRequest(request);
}
 
源代码6 项目: openzaly   文件: ZalyHttpClient.java
public byte[] postBytes(String url, byte[] bytes) throws IOException {
	ResponseBody body = null;
	try {
		RequestBody postBody = RequestBody.create(JSON, bytes);
		Request request = new Request.Builder().url(url).post(postBody).build();
		Response response = httpClient.newCall(request).execute();
		if (response.isSuccessful()) {
			body = response.body();
			byte[] res = body.bytes();
			return res;
		} else {
			logger.error("http post error.{}", response.message());
		}
	} finally {
		if (body != null) {
			body.close();
		}
	}
	return null;
}
 
源代码7 项目: meiShi   文件: OkHttpPostRequest.java
@Override
protected RequestBody buildRequestBody()
{
    validParams();
    RequestBody requestBody = null;


    switch (type)
    {
        case TYPE_PARAMS:
            FormEncodingBuilder builder = new FormEncodingBuilder();
            addParams(builder, params);
            requestBody = builder.build();
            break;
        case TYPE_BYTES:
            requestBody = RequestBody.create(mediaType != null ? mediaType : MEDIA_TYPE_STREAM, bytes);
            break;
        case TYPE_FILE:
            requestBody = RequestBody.create(mediaType != null ? mediaType : MEDIA_TYPE_STREAM, file);
            break;
        case TYPE_STRING:
            requestBody = RequestBody.create(mediaType != null ? mediaType : MEDIA_TYPE_STRING, content);
            break;
    }
    return requestBody;
}
 
源代码8 项目: harbor-java-client   文件: HarborClient.java
/**
 * Let user search access logs filtered by operations and date time
 * ranges.</br>
 * <b>URL</b>: /projects/{project_id}/logs/filter</br>
 * <b>Method</b>: POST
 *
 * @param projectId
 *            [required] (Selected project ID)
 * @param accessLog
 *            (Search results of access logs)
 * @return
 * @throws HarborClientException
 * @throws IOException
 */

public List<Log> filterLog(int projectId, Log accessLog) throws HarborClientException, IOException {
	List<Log> res = new ArrayList<>();
	String url = baseUrl + "projects/" + projectId + "/logs/filter";
	RequestBody requestBody = RequestBody.create(JSON, mapper.writeValueAsString(accessLog));
	Request request = new Request.Builder().url(url).post(requestBody).build();
	Response response = okhttpClient.newCall(request).execute();
	logger.debug(String.format(REQUEST_RESPONSE_INFO, request, response));
	switch (response.code()) {
	case 200:
		res = mapper.readValue(response.body().string(), new TypeReference<List<Log>>() {
		});
		break;
	case 400:
		throw new HarborClientException(String.valueOf(response.code()), "Illegal format of provided ID value.");
	case 401:
		throw new HarborClientException(String.valueOf(response.code()), "User need to log in first.");
	case 500:
		throw new HarborClientException(String.valueOf(response.code()), "Unexpected internal errors.");
	default:
		throw new HarborClientException(String.valueOf(response.code()), "Unknown.");
	}
	return res;
}
 
源代码9 项目: find-client-android   文件: FindWiFiImpl.java
@Override
protected Void doInBackground(Void... params) {

    try {
        Request.Builder requestBuilder = new Request.Builder()
                .url(serverAddr + urlPart);
        switch (method) {
            case PUT:
                requestBuilder.put(RequestBody.create(MEDIA_TYPE_JSON, json));
                break;
            case POST:
                requestBuilder.post(RequestBody.create(MEDIA_TYPE_JSON, json));
                break;
            case DELETE:
                requestBuilder.delete(RequestBody.create(MEDIA_TYPE_JSON, json));
                break;
            default: break;
        }
        Request request = requestBuilder.build();
        httpClient.newCall(request).enqueue(new HttpCallback(callback));
    } catch (Exception e) {
        Log.e(TAG, "IOException", e);
    }
    return null;
}
 
源代码10 项目: meiShi   文件: OkHttpPostRequest.java
@Override
protected RequestBody wrapRequestBody(RequestBody requestBody, final ResultCallback callback)
{
    CountingRequestBody countingRequestBody = new CountingRequestBody(requestBody, new CountingRequestBody.Listener()
    {
        @Override
        public void onRequestProgress(final long bytesWritten, final long contentLength)
        {

            mOkHttpClientManager.getDelivery().post(new Runnable()
            {
                @Override
                public void run()
                {
                    callback.inProgress(bytesWritten * 1.0f / contentLength);
                }
            });

        }
    });
    return countingRequestBody;
}
 
源代码11 项目: lams   文件: OkHttpClientHttpRequestFactory.java
static Request buildRequest(HttpHeaders headers, byte[] content, URI uri, HttpMethod method)
		throws MalformedURLException {

	com.squareup.okhttp.MediaType contentType = getContentType(headers);
	RequestBody body = (content.length > 0 ||
			com.squareup.okhttp.internal.http.HttpMethod.requiresRequestBody(method.name()) ?
			RequestBody.create(contentType, content) : null);

	Request.Builder builder = new Request.Builder().url(uri.toURL()).method(method.name(), body);
	for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
		String headerName = entry.getKey();
		for (String headerValue : entry.getValue()) {
			builder.addHeader(headerName, headerValue);
		}
	}
	return builder.build();
}
 
@Override
protected Void doInBackground(Void... params) {

    RequestBody requestBody = new FormEncodingBuilder()
            .add("grant_type", "authorization_code")
            .add("client_id", mClientId)
            .add("client_secret", "ADD_YOUR_CLIENT_SECRET")
            .add("redirect_uri","")
            .add("code", mCode)
            .build();
    final Request request = new Request.Builder()
            .url(url)
            .post(requestBody)
            .build();
    mOkHttpClient.newCall(request).enqueue(new HttpCallback(mCallBack));
    return null;
}
 
源代码13 项目: NewsMe   文件: PostFormRequest.java
@Override
protected RequestBody wrapRequestBody(RequestBody requestBody, final Callback callback)
{
    if (callback == null) return requestBody;
    CountingRequestBody countingRequestBody = new CountingRequestBody(requestBody, new CountingRequestBody.Listener()
    {
        @Override
        public void onRequestProgress(final long bytesWritten, final long contentLength)
        {

            OkHttpUtils.getInstance().getDelivery().post(new Runnable()
            {
                @Override
                public void run()
                {
                    callback.inProgress(bytesWritten * 1.0f / contentLength);
                }
            });

        }
    });
    return countingRequestBody;
}
 
源代码14 项目: meiShi   文件: OkHttpUploadRequest.java
private void addParams(MultipartBuilder builder, Map<String, String> params)
{
    if (builder == null)
    {
        throw new IllegalArgumentException("builder can not be null .");
    }

    if (params != null && !params.isEmpty())
    {
        for (String key : params.keySet())
        {
            builder.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""),
                    RequestBody.create(null, params.get(key)));

        }
    }
}
 
源代码15 项目: find-client-android   文件: FindWiFiImpl.java
@Override
protected Void doInBackground(Void... params) {

    try {
        Request.Builder requestBuilder = new Request.Builder()
                .url(serverAddr + urlPart);
        switch (method) {
            case PUT:
                requestBuilder.put(RequestBody.create(MEDIA_TYPE_JSON, json));
                break;
            case POST:
                requestBuilder.post(RequestBody.create(MEDIA_TYPE_JSON, json));
                break;
            case DELETE:
                requestBuilder.delete(RequestBody.create(MEDIA_TYPE_JSON, json));
                break;
            default: break;
        }
        Request request = requestBuilder.build();
        httpClient.newCall(request).enqueue(new HttpCallback(callback));
    } catch (Exception e) {
        Log.e(TAG, "IOException", e);
    }
    return null;
}
 
源代码16 项目: nifi-api-client-java   文件: ApiClient.java
/**
 * Serialize the given Java object into request body according to the object's
 * class and the request Content-Type.
 *
 * @param obj The Java object
 * @param contentType The request Content-Type
 * @return The serialized request body
 * @throws ApiException If fail to serialize the given object
 */
public RequestBody serialize(Object obj, String contentType) throws ApiException {
    if (obj instanceof byte[]) {
        // Binary (byte array) body parameter support.
        return RequestBody.create(MediaType.parse(contentType), (byte[]) obj);
    } else if (obj instanceof File) {
        // File body parameter support.
        return RequestBody.create(MediaType.parse(contentType), (File) obj);
    } else if (isJsonMime(contentType)) {
        String content;
        if (obj != null) {
            content = json.serialize(obj);
        } else {
            content = null;
        }
        return RequestBody.create(MediaType.parse(contentType), content);
    } else {
        throw new ApiException("Content type \"" + contentType + "\" is not supported");
    }
}
 
源代码17 项目: xDrip   文件: SendFeedBack.java
/**
 * https://github.com/square/okhttp/issues/350
 */
private RequestBody forceContentLength(final RequestBody requestBody) throws IOException {
    final Buffer buffer = new Buffer();
    requestBody.writeTo(buffer);
    return new RequestBody() {
        @Override
        public MediaType contentType() {
            return requestBody.contentType();
        }

        @Override
        public long contentLength() {
            return buffer.size();
        }

        @Override
        public void writeTo(BufferedSink sink) throws IOException {
            sink.write(buffer.snapshot());
        }
    };
}
 
源代码18 项目: xDrip-plus   文件: SendFeedBack.java
/**
 * https://github.com/square/okhttp/issues/350
 */
private RequestBody forceContentLength(final RequestBody requestBody) throws IOException {
    final Buffer buffer = new Buffer();
    requestBody.writeTo(buffer);
    return new RequestBody() {
        @Override
        public MediaType contentType() {
            return requestBody.contentType();
        }

        @Override
        public long contentLength() {
            return buffer.size();
        }

        @Override
        public void writeTo(BufferedSink sink) throws IOException {
            sink.write(buffer.snapshot());
        }
    };
}
 
源代码19 项目: xDrip-plus   文件: SendFeedBack.java
private RequestBody gzip(final RequestBody body) {
    return new RequestBody() {
        @Override
        public MediaType contentType() {
            return body.contentType();
        }

        @Override
        public long contentLength() {
            return -1; // We don't know the compressed length in advance!
        }

        @Override
        public void writeTo(BufferedSink sink) throws IOException {
            BufferedSink gzipSink = Okio.buffer(new GzipSink(sink));
            body.writeTo(gzipSink);
            gzipSink.close();
        }
    };
}
 
源代码20 项目: stetho   文件: StethoInterceptorTest.java
@Test
public void testWithRequestCompression() throws IOException {
  AtomicReference<NetworkEventReporter.InspectorRequest> capturedRequest =
      hookAlmostRealRequestWillBeSent(mMockEventReporter);

  MockWebServer server = new MockWebServer();
  server.start();
  server.enqueue(new MockResponse()
      .setBody("Success!"));

  final byte[] decompressed = "Request text".getBytes();
  final byte[] compressed = compress(decompressed);
  assertNotEquals(
      "Bogus test: decompressed and compressed lengths match",
      compressed.length, decompressed.length);

  RequestBody compressedBody = RequestBody.create(
      MediaType.parse("text/plain"),
      compress(decompressed));
  Request request = new Request.Builder()
      .url(server.getUrl("/"))
      .addHeader("Content-Encoding", "gzip")
      .post(compressedBody)
      .build();
  Response response = mClientWithInterceptor.newCall(request).execute();

  // Force a read to complete the flow.
  response.body().string();

  assertArrayEquals(decompressed, capturedRequest.get().body());
  Mockito.verify(mMockEventReporter)
      .dataSent(
          anyString(),
          eq(decompressed.length),
          eq(compressed.length));

  server.shutdown();
}
 
源代码21 项目: yahnac   文件: ConnectionProvider.java
public Request commentOnStoryRequest(String itemId, String comment, String hmac) {
    RequestBody requestBody = (new FormEncodingBuilder())
            .add("parent", itemId)
            .add("goto", (new StringBuilder()).append("item?id=").append(itemId).toString())
            .add("text", comment)
            .add("hmac", hmac)
            .build();

    return createAuthRequest(requestBody);
}
 
源代码22 项目: openzaly   文件: HttpClient.java
static String postKV(String url) throws IOException {

		RequestBody formBody = new FormEncodingBuilder().add("platform", "android").add("name", "bug").build();

		Request request = new Request.Builder().url(url).post(formBody).build();

		Response response = client.newCall(request).execute();
		System.out.println("post KV response =" + response.isSuccessful());
		if (response.isSuccessful()) {
			return response.body().string();
		} else {
			throw new IOException("Unexpected code " + response);
		}
	}
 
源代码23 项目: openzaly   文件: HttpTestPost.java
static String post(String url, String json) throws IOException {
	RequestBody body = RequestBody.create(JSON, json);
	Request request = new Request.Builder().url(url).post(body).build();
	Response response = client.newCall(request).execute();
	System.out.println("response = " + response.isSuccessful());
	if (response.isSuccessful()) {
		return response.body().string();
	} else {
		throw new IOException("Unexpected code " + response);
	}
}
 
源代码24 项目: yahnac   文件: ConnectionProvider.java
private Request createAuthRequest(RequestBody requestBody) {
    return (new Request.Builder())
            .addHeader("cookie", (new StringBuilder()).append("user=").append(loginSharedPreferences.getCookie()).toString())
            .url(ConnectionProvider.BASE_URL + ConnectionProvider.SEND_COMMENT_BASE_URL)
            .post(requestBody)
            .build();
}
 
源代码25 项目: xpay   文件: RequestUtils.java
public static String post(String url, String json){
    RequestBody body = RequestBody.create(JSON, json);
    Request request = new Request.Builder()
            .url(url)
            .post(body)
            .build();
    try {
        Response response = client.newCall(request).execute();
        return response.body().string();
    } catch (IOException e) {
        Log.e("ZYKJ",e.getMessage());
    }
    return "";
}
 
源代码26 项目: Mizuu   文件: MizLib.java
public static Request getJsonPostRequest(String url, JSONObject holder) {
    return new Request.Builder()
            .url(url)
            .addHeader("Content-type", "application/json")
            .post(RequestBody.create(MediaType.parse("application/json"), holder.toString()))
            .build();
}
 
源代码27 项目: openzaly   文件: HttpTestPost.java
static String post(String url, String json) throws IOException {
	RequestBody body = RequestBody.create(JSON, json);
	Request request = new Request.Builder().url(url).post(body).build();
	Response response = client.newCall(request).execute();
	System.out.println("response = " + response.isSuccessful());
	if (response.isSuccessful()) {
		return response.body().string();
	} else {
		throw new IOException("Unexpected code " + response);
	}
}
 
源代码28 项目: lunzi   文件: UploadFileRequest.java
private void newRequestCall(Callback callback, String url, RequestBody requestBody) {
    Request request = new Request.Builder()
            .url(url)
            .post(requestBody)
            .build();
    Call call = mOkHttpClient.newCall(request);
    call.enqueue(callback);
}
 
private Request buildPostRequest(HttpUrl httpUrl, MediaType mediaType, String content) {
    return new Request.Builder()
            .url(httpUrl)
            .addHeader("Content-Type", mediaType.toString())
            .addHeader("Authorization", token)
            .addHeader("User-Agent", "swaggerhub-gradle-plugin")
            .post(RequestBody.create(mediaType, content))
            .build();
}
 
源代码30 项目: harbor-java-client   文件: HarborClient.java
/**
 * For user to create a new project.</br>
 * <b>URL</b>: /projects</br>
 * <b>Method</b>: POST
 *
 * @param project
 *            [required] (New created project)
 * @return
 * @throws IOException
 */

public HarborResponse createProject(Project project) throws IOException {
	HarborResponse result = new HarborResponse();
	String res;
	String url = baseUrl + "projects";
	RequestBody requestBody = RequestBody.create(JSON, mapper.writeValueAsString(project));
	Request request = new Request.Builder().url(url).post(requestBody).build();
	Response response = okhttpClient.newCall(request).execute();
	logger.debug(String.format(REQUEST_RESPONSE_INFO, request, response));
	switch (response.code()) {
	case 201:
		res = "Project created successfully.";
		break;
	case 400:
		res = "Unsatisfied with constraints of the project creation.";
		break;
	case 401:
		res = "User need to log in first.";
		break;
	case 409:
		res = "Project name already exists.";
		break;
	case 500:
		res = "Unexpected internal errors.";
		break;
	default:
		res = "Unknown.";
		break;
	}
	result.setCode(Integer.toString(response.code()));
	result.setMessage(res);
	return result;
}
 
 类所在包
 同包方法