Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.mdns.eu/nextcloud/passwords-client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius David Wieschollek <passwords.public@mdns.eu>2020-01-13 22:55:43 +0300
committerMarius David Wieschollek <passwords.public@mdns.eu>2020-01-13 22:55:43 +0300
commit453da923d27a2b30ba9d58ab60576c729f669890 (patch)
treea72458d53f78aeb15920f159e1cc742a1f09f030 /src/Network
parent0fcdbfe39264cf04daca3a52ebdc8d1ec55a7290 (diff)
Added user agent option to api requests
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
Diffstat (limited to 'src/Network')
-rw-r--r--src/Network/ApiRequest.js59
1 files changed, 57 insertions, 2 deletions
diff --git a/src/Network/ApiRequest.js b/src/Network/ApiRequest.js
index 680edab..61a4330 100644
--- a/src/Network/ApiRequest.js
+++ b/src/Network/ApiRequest.js
@@ -2,15 +2,35 @@ import ApiResponse from './ApiResponse';
export default class ApiRequest {
+ /**
+ *
+ * @param {Api} api
+ * @param {string} [url=null]
+ * @param {Session} [session=null]
+ */
constructor(api, url = null, session = null) {
this._api = api;
this._url = url;
this._path = null;
this._data = null;
+ this._userAgent = null;
this._session = session;
this._responseType = 'application/json';
}
+ /**
+ *
+ * @returns {(string|null)}
+ */
+ getUrl() {
+ return this._url;
+ }
+
+ /**
+ *
+ * @param {Session} value
+ * @returns {ApiRequest}
+ */
setUrl(value) {
this._url = value;
@@ -35,12 +55,22 @@ export default class ApiRequest {
return this;
}
+ /**
+ *
+ * @param {string} value
+ * @return {ApiRequest}
+ */
setPath(value) {
this._path = value;
return this;
}
+ /**
+ *
+ * @param {Object} value
+ * @return {ApiRequest}
+ */
setData(value) {
this._data = value;
@@ -49,6 +79,17 @@ export default class ApiRequest {
/**
*
+ * @param {string} value
+ * @return {ApiRequest}
+ */
+ setUserAgent(value) {
+ this._userAgent = value;
+
+ return this;
+ }
+
+ /**
+ *
* @returns {Promise<ApiResponse>}
*/
async send() {
@@ -80,6 +121,11 @@ export default class ApiRequest {
return response;
}
+ /**
+ *
+ * @return {{redirect: string, headers: Headers, method: string, credentials: string}}
+ * @private
+ */
_getRequestOptions() {
let headers = this._getRequestHeaders();
let method = 'GET';
@@ -93,6 +139,11 @@ export default class ApiRequest {
return options;
}
+ /**
+ *
+ * @return {Headers}
+ * @private
+ */
_getRequestHeaders() {
let headers = new Headers();
@@ -108,6 +159,10 @@ export default class ApiRequest {
headers.append('content-type', 'application/json');
}
+ if(this._userAgent !== null) {
+ headers.append('user-agent', this._userAgent);
+ }
+
if(this._session.getId() !== null) {
headers.append('x-api-session', this._session.getId());
}
@@ -117,8 +172,8 @@ export default class ApiRequest {
/**
*
- * @param url
- * @param options
+ * @param {string} url
+ * @param {Object} options
* @returns {Promise<Response>}
* @private
*/