List of usage examples for com.squareup.okhttp Response body
ResponseBody body
To view the source code for com.squareup.okhttp Response body.
Click Source Link
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
@Override public CFile getFileInfo(@NonNull String fileId) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); }/*from w ww .jav a2 s . c o m*/ if (TextUtils.isEmpty(fileId)) return null; Request request = new Request.Builder().url(API_BASE_URL + "/drive/items/" + fileId) .header("Authorization", String.format("Bearer %s", mAccessToken)).get().build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { // new file created JSONObject jsonObject = new JSONObject(response.body().string()); return buildFile(jsonObject); } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
@Override public CFile uploadFile(@NonNull final File file, @Nullable CFolder parent) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); }/*w ww .ja v a 2 s . c o m*/ Uri uri = Uri.parse(API_BASE_URL); String url = uri.buildUpon() .appendEncodedPath("drive/items/" + (parent != null ? parent.getId() : getRoot().getId()) + "/children/" + file.getName() + "/content") .appendQueryParameter("@name.conflictBehavior", "fail").build().toString(); RequestBody fileBody = new RequestBody() { @Override public MediaType contentType() { return null; } @Override public void writeTo(BufferedSink sink) throws IOException { // copy file into RequestBody FilesUtils.copyFile(new FileInputStream(file), sink.outputStream()); } }; Request request = new Request.Builder().url(url) .header("Authorization", String.format("Bearer %s", mAccessToken)).put(fileBody).build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { // new file created JSONObject jsonObject = new JSONObject(response.body().string()); return buildFile(jsonObject); } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
@Override public CFile updateFile(@NonNull CFile file, final File content) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); }/* w ww. ja v a2 s .c om*/ Uri uri = Uri.parse(API_BASE_URL); String url = uri.buildUpon().appendEncodedPath("drive/items/" + file.getId() + "/content") .appendQueryParameter("@name.conflictBehavior", "replace").build().toString(); RequestBody fileBody = new RequestBody() { @Override public MediaType contentType() { return null; } @Override public void writeTo(BufferedSink sink) throws IOException { // copy file into RequestBody FilesUtils.copyFile(new FileInputStream(content), sink.outputStream()); } }; Request request = new Request.Builder().url(url) .header("Authorization", String.format("Bearer %s", mAccessToken)).put(fileBody).build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { // new file created JSONObject jsonObject = new JSONObject(response.body().string()); return buildFile(jsonObject); } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
@Override public CFile renameFile(@NonNull CFile file, String name) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); }/*from ww w . ja v a 2s. c o m*/ // exist if same filename if (file.getName().equals(name)) return file; // create parameter as json final JSONObject params = new JSONObject(); try { params.put("name", name); } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } RequestBody body = new RequestBody() { @Override public MediaType contentType() { return JSON; } @Override public void writeTo(BufferedSink sink) throws IOException { sink.writeUtf8(params.toString()); } }; Request request = new Request.Builder().url(API_BASE_URL + "/drive/items/" + file.getId()) .header("Authorization", String.format("Bearer %s", mAccessToken)).patch(body).build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { // return file object return buildFile(new JSONObject(response.body().string())); } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
@Override public CFile moveFile(@NonNull CFile file, @Nullable CFolder folder) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); }//w w w.j a v a 2 s . com // create parameter as json final JSONObject params = new JSONObject(); try { params.put("parentReference", new JSONObject().put("id", folder != null ? folder.getId() : getRoot().getId())); } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } RequestBody body = new RequestBody() { @Override public MediaType contentType() { return JSON; } @Override public void writeTo(BufferedSink sink) throws IOException { sink.writeUtf8(params.toString()); } }; Request request = new Request.Builder().url(API_BASE_URL + "/drive/items/" + file.getId()) .header("Authorization", String.format("Bearer %s", mAccessToken)).patch(body).build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { // return file object return buildFile(new JSONObject(response.body().string())); } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
/** * Download file from redirect request//w ww . j a va2 s .c om * * @param request for redirect * @return File * @throws RequestFailException */ public synchronized File downloadFile(@NonNull Request request, String filename) throws RequestFailException { try { File file = new File(mContext.getFilesDir(), TextUtils.isEmpty(filename) ? "Untitled" : filename); Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { FilesUtils.copyFile(response.body().byteStream(), new FileOutputStream(file)); } else { throw new RequestFailException(response.message(), response.code()); } return file; } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
@Override public List<Object> search(@NonNull String keyword, CFolder folder) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); }/* w w w . j ava 2 s . c om*/ List<Object> list = new ArrayList<>(); Uri uri = Uri.parse(API_BASE_URL); String url = uri.buildUpon().appendEncodedPath("drive/items/" + folder.getId() + "/view.search") .appendQueryParameter("q", keyword).build().toString(); Request request = new Request.Builder().url(url) .header("Authorization", String.format("Bearer %s", mAccessToken)).get().build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { JSONObject jsonObject = new JSONObject(response.body().string()); JSONArray entries = jsonObject.getJSONArray("value"); if (entries.length() > 0) { list.addAll(createFilteredItemsList(entries, folder)); } else { // return null if no item found return null; } // pagination available if (jsonObject.has("@odata.nextLink")) { list.addAll(searchContinue(jsonObject.getString("@odata.nextLink"), folder)); } return list; } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.apis.OneDriveApi.java
License:Apache License
/** * Get continue search items/* w w w . j a v a 2s . c om*/ * * @param url for the next page of items * @param folder where the search is looking at * @return List that contains CFile and CFolder * @throws RequestFailException that content various error types */ public synchronized List<Object> searchContinue(String url, CFolder folder) throws RequestFailException { if (TextUtils.isEmpty(mAccessToken)) { throw new RequestFailException("Access token not available"); } List<Object> list = new ArrayList<>(); Request request = new Request.Builder().url(url) .header("Authorization", String.format("Bearer %s", mAccessToken)).get().build(); try { Response response = mHttpClient.newCall(request).execute(); if (response.isSuccessful()) { JSONObject jsonObject = new JSONObject(response.body().string()); JSONArray entries = jsonObject.getJSONArray("data"); if (entries.length() > 0) { list.addAll(createFilteredItemsList(entries, folder)); } else { // return null if no item found return null; } // pagination available if (jsonObject.has("@odata.nextLink")) { list.addAll(searchContinue(jsonObject.getString("@odata.nextLink"), folder)); } return list; } else { throw new RequestFailException(response.message(), response.code()); } } catch (JSONException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } catch (IOException e) { e.printStackTrace(); throw new RequestFailException(e.getMessage()); } }
From source file:com.he5ed.lib.cloudprovider.auth.OAuth2Fragment.java
License:Apache License
/** * Get API access token by sending POST request with params build from AuthHelper * * @param body parameter to be passed with the request *//*from w w w . j ava 2 s. c o m*/ private void getAccessToken(RequestBody body) { String url; try { url = AuthHelper.getAccessTokenUri(mCloudApi).toString(); } catch (MalformedURLException e) { e.printStackTrace(); // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_malformed_url)); return; } Request request = new Request.Builder().url(url).post(body).build(); mHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_access_token_fail)); } @Override public void onResponse(Response response) throws IOException { if (response.isSuccessful()) { try { JSONObject jsonObject = new JSONObject(response.body().string()); mTokenInfo = AuthHelper.extractAccessToken(mCloudApi, jsonObject); if (mTokenInfo != null) { getUserInfo(mTokenInfo.get(Authenticator.KEY_ACCESS_TOKEN)); } else { // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_access_token_fail)); } } catch (JSONException e) { e.printStackTrace(); // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_access_token_fail)); } } else { // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_access_token_fail)); } } }); }
From source file:com.he5ed.lib.cloudprovider.auth.OAuth2Fragment.java
License:Apache License
private void getUserInfo(final String accessToken) { Request request = AuthHelper.getUserInfoRequest(mCloudApi, accessToken); mHttpClient.newCall(request).enqueue(new Callback() { @Override//from w w w. jav a 2s .co m public void onFailure(Request request, IOException e) { // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_user_info_fail)); } @Override public void onResponse(Response response) throws IOException { if (response.isSuccessful()) { try { JSONObject jsonObject = new JSONObject(response.body().string()); addAccount(AuthHelper.extractUser(mCloudApi, jsonObject)); } catch (JSONException e) { e.printStackTrace(); // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_user_info_fail)); } } else { // register event to listener if (mListener != null) mListener.onAuthError(getString(R.string.auth_error_user_info_fail)); } } }); }