public ServerInfoJson getServerInfo(HttpUrl serverUrl, String serverID, String id) throws IOException { // set timeout to 30 seconds OkHttpClient client = defaultClient .newBuilder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("version", 1); jsonObject.addProperty("command", "get_server_info"); jsonObject.addProperty("stop_when_error", "false"); jsonObject.addProperty("stop_when_success", "false"); jsonObject.addProperty("id", id); jsonObject.addProperty("serverID", serverID); RequestBody requestBody = RequestBody.create(MediaType.parse("text/plain"), gson.toJson(jsonObject)); Request request = new Request.Builder().url(serverUrl).post(requestBody).build(); Response response = client.newCall(request).execute(); InputStream in = response.body().byteStream(); JsonReader reader = null; ServerInfoJson serverInfoJson = null; try { reader = new JsonReader(new InputStreamReader(in, "UTF-8")); serverInfoJson = gson.fromJson(reader, ServerInfoJson.class); } finally { if (reader != null) { reader.close(); } } if (serverInfoJson != null) { if (serverInfoJson.server != null) { // server info found! return serverInfoJson; } else if (serverInfoJson.sites != null && !serverInfoJson.sites.isEmpty()) { String site = serverInfoJson.sites.get(0); return getServerInfo( new HttpUrl.Builder().scheme("http").host(site).addPathSegment("Serv.php").build(), serverID, id); } } throw new IOException("No server info found!"); }
public RpcRequest(int xid, String service, String method, List<Object> params) { header = new RequestHeader(); header.msgType = Rpc.MSG_CALL; header.xid = xid; cbody = new RequestBody(); cbody.service = service; cbody.method = method; cbody.params = params; }
public Response post(String url, byte[] body, StringMap headers, String contentType) throws QiniuException { RequestBody rbody; if (body != null && body.length > 0) { MediaType t = MediaType.parse(contentType); rbody = RequestBody.create(t, body); } else { rbody = RequestBody.create(null, new byte[0]); } return post(url, rbody, headers); }
private byte[] generateBody() throws IOException { RequestBody body = mRequest.body(); if (body != null) { ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedSink sink = Okio.buffer(Okio.sink(out)); body.writeTo(sink); sink.flush(); return out.toByteArray(); } else { return null; } }
/** * Uploads the image to the server * * @param b * @param listener */ public void uploadImage(final Bitmap b, final OnResponseListener listener) { OkHttpClient httpClient = new OkHttpClient(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); // encode image as PNG, re-encoding as JPG may cause compression artefacts to be visible b.compress(Bitmap.CompressFormat.PNG, 0, bos); RequestBody requestBody = new MultipartBuilder() .type(MultipartBuilder.FORM) .addPart( // the filename parameter is needed to specify that this is indeed a file and not an // inline // attachment Headers.of( "Content-Disposition", "form-data; name=\"image\"; filename=\"image.png\""), RequestBody.create(MediaType.parse("image/png"), bos.toByteArray())) .build(); Request request = new Request.Builder().url(UPLOAD_ENDPOINT).post(requestBody).build(); Call call = httpClient.newCall(request); call.enqueue( new Callback() { @Override public void onFailure(Request request, IOException e) {} @Override public void onResponse(Response response) throws IOException { listener.onResponse(new ServerResponse(response.code(), response.body().string())); } }); }
private String sendPop(Transaction tx) { RequestBody requestBody = RequestBody.create(MediaType.parse("application/bitcoin-pop"), tx.toBytes()); URL url; try { url = new URL(popRequest.getP()); if (!"http".equals(url.getProtocol()) && !"https".equals(url.getProtocol())) { return "Invalid Url, expected protocol http or https: " + popRequest.getP(); } } catch (MalformedURLException e) { return "Invalid Url: " + popRequest.getP(); } Request request = new Request.Builder().url(url).post(requestBody).build(); OkHttpClient httpClient = new OkHttpClient(); if (_mbwManager.getTorMode() == ServerEndpointType.Types.ONLY_TOR && _mbwManager.getTorManager() != null) { httpClient = _mbwManager.getTorManager().setupClient(httpClient); } try { Response response = httpClient.newCall(request).execute(); if (response.isSuccessful()) { return response.body().string(); } else { return "Error occurred: " + response.code(); } } catch (IOException e) { return "Cannot communicate with server: " + e.getMessage(); } }
public Response multipartPost( String url, StringMap fields, String name, String fileName, File fileBody, String mimeType, StringMap headers) throws QiniuException { RequestBody file = RequestBody.create(MediaType.parse(mimeType), fileBody); return multipartPost(url, fields, name, fileName, file, headers); }
public void writeTo(BufferedSink bufferedsink) throws IOException { int i = 0; for (int k = partHeaders.size(); i < k; i++) { Object obj = (Headers)partHeaders.get(i); RequestBody requestbody = (RequestBody)partBodies.get(i); bufferedsink.write(MultipartBuilder.access$000()); bufferedsink.write(boundary); bufferedsink.write(MultipartBuilder.access$100()); if (obj != null) { int j = 0; for (int l = ((Headers) (obj)).size(); j < l; j++) { bufferedsink.writeUtf8(((Headers) (obj)).name(j)).write(MultipartBuilder.access$200()).writeUtf8(((Headers) (obj)).value(j)).write(MultipartBuilder.access$100()); } } obj = requestbody.contentType(); if (obj != null) { bufferedsink.writeUtf8("Content-Type: ").writeUtf8(((MediaType) (obj)).toString()).write(MultipartBuilder.access$100()); } long l1 = requestbody.contentLength(); if (l1 != -1L) { bufferedsink.writeUtf8("Content-Length: ").writeUtf8(Long.toString(l1)).write(MultipartBuilder.access$100()); } bufferedsink.write(MultipartBuilder.access$100()); ((RequestBody)partBodies.get(i)).writeTo(bufferedsink); bufferedsink.write(MultipartBuilder.access$100()); } bufferedsink.write(MultipartBuilder.access$000()); bufferedsink.write(boundary); bufferedsink.write(MultipartBuilder.access$000()); bufferedsink.write(MultipartBuilder.access$100()); }
/** * Is this action input parameter required. * * @return true if required */ public boolean isRequired() { boolean ret; if (isRequestBody()) { ret = requestBody.required(); } else if (isRequestParam()) { ret = !(isDefined(requestParam.defaultValue()) || !requestParam.required()); } else if (isRequestHeader()) { ret = !(isDefined(requestHeader.defaultValue()) || !requestHeader.required()); } else { ret = true; } return ret; }
public ServerInfoJson requestTunnel(ServerInfoJson infoJson, String serverID, String id) throws IOException { if (infoJson == null || infoJson.env == null || Util.isEmpty(infoJson.env.control_host)) { return null; } // set timeout to 30 seconds OkHttpClient client = defaultClient .newBuilder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); final String server = infoJson.env.control_host; JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("command", "request_tunnel"); jsonObject.addProperty("version", 1); jsonObject.addProperty("serverID", serverID); jsonObject.addProperty("id", id); RequestBody requestBody = RequestBody.create(MediaType.parse("text/plain"), gson.toJson(jsonObject)); Request request = new Request.Builder() .url(HttpUrl.parse("http://" + server + "/Serv.php")) .post(requestBody) .build(); Response response = client.newCall(request).execute(); JsonReader reader = null; try { InputStream in = response.body().byteStream(); reader = new JsonReader(new InputStreamReader(in, "UTF-8")); return gson.fromJson(reader, ServerInfoJson.class); } finally { if (reader != null) { reader.close(); } } }
public er method(String s, RequestBody requestbody) { if (s == null || s.length() == 0) { throw new IllegalArgumentException("method == null || method.length() == 0"); } if (requestbody != null && !HttpMethod.permitsRequestBody(s)) { throw new IllegalArgumentException((new StringBuilder()).append("method ").append(s).append(" must not have a request body.").toString()); } RequestBody requestbody1 = requestbody; if (requestbody == null) { requestbody1 = requestbody; if (HttpMethod.permitsRequestBody(s)) { requestbody1 = RequestBody.create(null, Util.EMPTY_BYTE_ARRAY); } } method = s; body = requestbody1; return this; }
String put(String url, String json) throws IOException { RequestBody body = RequestBody.create(JSON, json); Request request = new Request.Builder().url(url).put(body).build(); Response response = client.newCall(request).execute(); return response.body().string(); }