From cff58a2ab1a63c66d8151b85276588888bba4daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20de=20Dios=20Mart=C3=ADnez=20Vallejo?= Date: Thu, 25 Nov 2021 23:40:21 +0100 Subject: [PATCH 001/216] typed content HttpsResponse --- src/https.common.ts | 4 ++-- src/https.d.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/https.common.ts b/src/https.common.ts index 80e10be..5f6820b 100644 --- a/src/https.common.ts +++ b/src/https.common.ts @@ -54,10 +54,10 @@ export interface HttpsRequestOptions extends HttpRequestOptions { useLegacy?: boolean; } -export interface HttpsResponse { +export interface HttpsResponse { headers?: Headers; statusCode?: number; - content?: any; + content?: T; reason?: string; description?: string; url?: string; diff --git a/src/https.d.ts b/src/https.d.ts index 484917e..99b48f1 100644 --- a/src/https.d.ts +++ b/src/https.d.ts @@ -4,7 +4,7 @@ export function enableSSLPinning(options: Https.HttpsSSLPinningOptions); export function disableSSLPinning(); -export function request(options: Https.HttpsRequestOptions): Promise; +export function request(options: Https.HttpsRequestOptions): Promise>; export function setCache(options?: Https.CacheOptions); export function clearCache(); export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest; From 49073c5c4e1ab1370da4260ebc833705eaabb2b3 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 23 Dec 2021 16:37:40 +0100 Subject: [PATCH 002/216] fix: android allow interceptors --- src/https.android.ts | 2 ++ src/https.common.ts | 9 +++++++++ src/https.d.ts | 2 +- src/https.ios.ts | 4 ++-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/https.android.ts b/src/https.android.ts index 5d0ec53..16f5d2e 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -266,6 +266,8 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt } const client = new okhttp3.OkHttpClient.Builder(); + Https.interceptors.forEach((interceptor) => client.addInterceptor(interceptor)); + Https.networkInterceptors.forEach((interceptor) => client.addNetworkInterceptor(interceptor)); if (peer.enabled === true) { if (peer.host || peer.certificate) { const spec = okhttp3.ConnectionSpec.MODERN_TLS; diff --git a/src/https.common.ts b/src/https.common.ts index 80e10be..296c325 100644 --- a/src/https.common.ts +++ b/src/https.common.ts @@ -107,3 +107,12 @@ export function parseJSON(source: string): any { return JSON.parse(src); } + +export const interceptors = []; +export function addInterceptor(interceptor) { + interceptors.push(interceptor); +} +export const networkInterceptors = []; +export function addNetworkInterceptor(interceptor) { + networkInterceptors.push(interceptor); +} diff --git a/src/https.d.ts b/src/https.d.ts index 484917e..a304251 100644 --- a/src/https.d.ts +++ b/src/https.d.ts @@ -8,5 +8,5 @@ export function request(options: Https.HttpsRequestOptions): Promise { - opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); - } + opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); + } : null; let task: NSURLSessionDataTask; From 180ded49a6dd4094fa4c40139e822c73fde9d43e Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 23 Dec 2021 16:39:00 +0100 Subject: [PATCH 003/216] v3.3.3 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c7021e..fe93c17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.3](https://github.com/farfromrefug/nativescript-https/compare/v3.3.2...v3.3.3) (2021-12-23) + + +### Bug Fixes + +* android allow interceptors ([49073c5](https://github.com/farfromrefug/nativescript-https/commit/49073c5c4e1ab1370da4260ebc833705eaabb2b3)) + + + + + ## [3.3.2](https://github.com/farfromrefug/nativescript-https/compare/v3.3.1...v3.3.2) (2021-10-21) diff --git a/lerna.json b/lerna.json index 218c527..d4e2fab 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.2", + "version": "3.3.3", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 5c3d9e2..1e8d5a6 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.3](https://github.com/farfromrefug/nativescript-https/compare/v3.3.2...v3.3.3) (2021-12-23) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.2](https://github.com/farfromrefug/nativescript-https/compare/v3.3.1...v3.3.2) (2021-10-21) diff --git a/plugin/package.json b/plugin/package.json index 0e3f727..1ded619 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.2", + "version": "3.3.3", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 2b503c42d43cde3f82d994346948e20bbf91fc57 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 14 Jan 2022 16:55:52 +0100 Subject: [PATCH 004/216] fix: missing export of `addNetworkInterceptor`, `addInterceptor` --- src/https.android.ts | 2 ++ src/https.ios.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/src/https.android.ts b/src/https.android.ts index 16f5d2e..ec0238b 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -1,6 +1,8 @@ import { File, HttpResponseEncoding, ImageSource, Utils } from '@nativescript/core'; import * as Https from './https.common'; +export { addNetworkInterceptor, addInterceptor } from './https.common'; + interface Ipeer { enabled: boolean; allowInvalidCertificates: boolean; diff --git a/src/https.ios.ts b/src/https.ios.ts index df6bc88..54036af 100644 --- a/src/https.ios.ts +++ b/src/https.ios.ts @@ -1,5 +1,6 @@ import { File, ImageSource, Utils } from '@nativescript/core'; import * as Https from './https.common'; +export { addNetworkInterceptor, addInterceptor } from './https.common'; let cache: NSURLCache; From 0d6d67b223e52d5e3d80b4513f2ee6d591495e4f Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 14 Jan 2022 16:56:03 +0100 Subject: [PATCH 005/216] fix(android): missing native-api-usage --- plugin/platforms/android/native-api-usage.json | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/platforms/android/native-api-usage.json b/plugin/platforms/android/native-api-usage.json index 9c49963..121770d 100644 --- a/plugin/platforms/android/native-api-usage.json +++ b/plugin/platforms/android/native-api-usage.json @@ -14,6 +14,7 @@ "okhttp3.CacheControl:Builder*", "okhttp3:Request*", "okhttp3.Request:Builder*", + "okhttp3:Interceptor*", "okhttp3:OkHttpClient*", "okhttp3.OkHttpClient:Builder*", "okhttp3:CertificatePinner*", From 426740f6d730b8a1e9e9078f20011a95d7ece400 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 14 Jan 2022 16:58:27 +0100 Subject: [PATCH 006/216] v3.3.4 --- CHANGELOG.md | 12 ++++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 11 +++++++++++ plugin/package.json | 2 +- 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe93c17..277badc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.4](https://github.com/farfromrefug/nativescript-https/compare/v3.3.3...v3.3.4) (2022-01-14) + + +### Bug Fixes + +* **android:** missing native-api-usage ([0d6d67b](https://github.com/farfromrefug/nativescript-https/commit/0d6d67b223e52d5e3d80b4513f2ee6d591495e4f)) +* missing export of `addNetworkInterceptor`, `addInterceptor` ([2b503c4](https://github.com/farfromrefug/nativescript-https/commit/2b503c42d43cde3f82d994346948e20bbf91fc57)) + + + + + ## [3.3.3](https://github.com/farfromrefug/nativescript-https/compare/v3.3.2...v3.3.3) (2021-12-23) diff --git a/lerna.json b/lerna.json index d4e2fab..ee62259 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.3", + "version": "3.3.4", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 1e8d5a6..81c7cec 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.4](https://github.com/farfromrefug/nativescript-https/compare/v3.3.3...v3.3.4) (2022-01-14) + + +### Bug Fixes + +* **android:** missing native-api-usage ([0d6d67b](https://github.com/farfromrefug/nativescript-https/commit/0d6d67b223e52d5e3d80b4513f2ee6d591495e4f)) + + + + + ## [3.3.3](https://github.com/farfromrefug/nativescript-https/compare/v3.3.2...v3.3.3) (2021-12-23) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index 1ded619..1bb33b0 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.3", + "version": "3.3.4", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 2ba49fe7b25cbd9abb33a10a079d138540f05559 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 14 Jan 2022 16:58:56 +0100 Subject: [PATCH 007/216] chore: refactor --- src/https.android.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/https.android.ts b/src/https.android.ts index ec0238b..f129536 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -267,17 +267,17 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt cookieJar = new com.nativescript.https.QuotePreservingCookieJar(cookieManager); } - const client = new okhttp3.OkHttpClient.Builder(); - Https.interceptors.forEach((interceptor) => client.addInterceptor(interceptor)); - Https.networkInterceptors.forEach((interceptor) => client.addNetworkInterceptor(interceptor)); + const builder = new okhttp3.OkHttpClient.Builder(); + Https.interceptors.forEach((interceptor) => builder.addInterceptor(interceptor)); + Https.networkInterceptors.forEach((interceptor) => builder.addNetworkInterceptor(interceptor)); if (peer.enabled === true) { if (peer.host || peer.certificate) { const spec = okhttp3.ConnectionSpec.MODERN_TLS; - client.connectionSpecs(java.util.Collections.singletonList(spec)); + builder.connectionSpecs(java.util.Collections.singletonList(spec)); const pinner = new okhttp3.CertificatePinner.Builder(); pinner.add(peer.host, [peer.certificate]); - client.certificatePinner(pinner.build()); + builder.certificatePinner(pinner.build()); if (peer.allowInvalidCertificates === false) { try { @@ -299,7 +299,7 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt const sslContext = javax.net.ssl.SSLContext.getInstance('TLS'); sslContext.init(keyManagers, trustManagerFactory.getTrustManagers(), new java.security.SecureRandom()); - client.sslSocketFactory(sslContext.getSocketFactory()); + builder.sslSocketFactory(sslContext.getSocketFactory()); } catch (error) { console.error('@nativescript-community/https > client.allowInvalidCertificates error', error); } @@ -307,7 +307,7 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt if (peer.validatesDomainName === true) { try { - client.hostnameVerifier( + builder.hostnameVerifier( new javax.net.ssl.HostnameVerifier({ verify: (hostname: string, session: javax.net.ssl.SSLSession): boolean => { const pp = session.getPeerPrincipal().getName(); @@ -330,19 +330,19 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt } _timeout = timeout; - client.connectTimeout(timeout, java.util.concurrent.TimeUnit.SECONDS).writeTimeout(timeout, java.util.concurrent.TimeUnit.SECONDS).readTimeout(timeout, java.util.concurrent.TimeUnit.SECONDS); + builder.connectTimeout(timeout, java.util.concurrent.TimeUnit.SECONDS).writeTimeout(timeout, java.util.concurrent.TimeUnit.SECONDS).readTimeout(timeout, java.util.concurrent.TimeUnit.SECONDS); if (cache) { - client.cache(cache); + builder.cache(cache); if (forceCache) { - client.addInterceptor(new com.nativescript.https.CacheInterceptor()); + builder.addInterceptor(new com.nativescript.https.CacheInterceptor()); } } if (cookieJar) { - client.cookieJar(cookieJar); + builder.cookieJar(cookieJar); } - Client = client.build(); + Client = builder.build(); return Client; } From dd0364592c236840e120bf61501f4f26ba85f0e9 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 14 Jan 2022 16:59:27 +0100 Subject: [PATCH 008/216] v3.3.5 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 277badc..e87202e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.5](https://github.com/farfromrefug/nativescript-https/compare/v3.3.4...v3.3.5) (2022-01-14) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.4](https://github.com/farfromrefug/nativescript-https/compare/v3.3.3...v3.3.4) (2022-01-14) diff --git a/lerna.json b/lerna.json index ee62259..5d36e71 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.4", + "version": "3.3.5", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 81c7cec..1e0cd6a 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.5](https://github.com/farfromrefug/nativescript-https/compare/v3.3.4...v3.3.5) (2022-01-14) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.4](https://github.com/farfromrefug/nativescript-https/compare/v3.3.3...v3.3.4) (2022-01-14) diff --git a/plugin/package.json b/plugin/package.json index 1bb33b0..7983328 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.4", + "version": "3.3.5", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From bace9832d9ab07b158068eca3104a24f4c494851 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 15 Jan 2022 11:36:06 +0100 Subject: [PATCH 009/216] feat: added method `cancelRequest`. You need to set the `tag` in request options first --- src/https.android.ts | 2 +- src/https.common.ts | 1 + src/https.d.ts | 1 + src/https.ios.ts | 23 +++++++++++++++++++++-- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/https.android.ts b/src/https.android.ts index f129536..5d91fd6 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -456,7 +456,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque } request[methods[opts.method]](okHttpBody); } - const tag = `okhttp_request_${CALL_ID++}`; + const tag = opts.tag || `okhttp_request_${CALL_ID++}`; const call = client.newCall(request.tag(tag).build()); // We have to allow networking on the main thread because larger responses will crash the app with an NetworkOnMainThreadException. diff --git a/src/https.common.ts b/src/https.common.ts index d5aa975..f951fc0 100644 --- a/src/https.common.ts +++ b/src/https.common.ts @@ -28,6 +28,7 @@ export interface HttpsRequestObject { export type CachePolicy = 'noCache' | 'onlyCache' | 'ignoreCache'; export interface HttpsRequestOptions extends HttpRequestOptions { url: string; + tag?: string; // optional request tag to allow to cancel it method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD'; headers?: Headers; params?: HttpsRequestObject; diff --git a/src/https.d.ts b/src/https.d.ts index 8f46418..3bd3362 100644 --- a/src/https.d.ts +++ b/src/https.d.ts @@ -8,5 +8,6 @@ export function request(options: Https.HttpsRequestOptions): Promise { - opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); - } + opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); + } : null; let task: NSURLSessionDataTask; + const tag = opts.tag; + function clearRunningRequest() { + if (tag) { + delete runningRequests[tag]; + } + } return { get nativeRequest() { return task; @@ -364,6 +378,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque cancel: () => task && task.cancel(), run(resolve, reject) { const success = function (task: NSURLSessionDataTask, data?: any) { + clearRunningRequest(); // TODO: refactor this code with failure one. const content = useLegacy ? new HttpsResponse(data, opts.url) : getData(data); let getHeaders = () => ({}); @@ -394,6 +409,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque // } }; const failure = function (task: NSURLSessionDataTask, error: any) { + clearRunningRequest(); AFFailure(resolve, reject, task, error, useLegacy, opts.url); }; if (type.startsWith('multipart/form-data')) { @@ -451,6 +467,9 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque throw new Error('method_not_supported_multipart'); } } + if (task && tag) { + runningRequests[tag] = task; + } }, }; } From 6c80e100515edb3c9b5c41cbfb1830188efd821e Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 15 Jan 2022 11:38:56 +0100 Subject: [PATCH 010/216] v3.3.6 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e87202e..abba438 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.6](https://github.com/farfromrefug/nativescript-https/compare/v3.3.5...v3.3.6) (2022-01-15) + + +### Features + +* added method `cancelRequest`. You need to set the `tag` in request options first ([bace983](https://github.com/farfromrefug/nativescript-https/commit/bace9832d9ab07b158068eca3104a24f4c494851)) + + + + + ## [3.3.5](https://github.com/farfromrefug/nativescript-https/compare/v3.3.4...v3.3.5) (2022-01-14) **Note:** Version bump only for package @nativescript-community/https diff --git a/lerna.json b/lerna.json index 5d36e71..4f4fd75 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.5", + "version": "3.3.6", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 1e0cd6a..3f18729 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.6](https://github.com/farfromrefug/nativescript-https/compare/v3.3.5...v3.3.6) (2022-01-15) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.5](https://github.com/farfromrefug/nativescript-https/compare/v3.3.4...v3.3.5) (2022-01-14) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index 7983328..8ab3ece 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.5", + "version": "3.3.6", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 972780279a291d3f95636601450198a78d935696 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 15 Jan 2022 14:28:14 +0100 Subject: [PATCH 011/216] fix(android): `cancelRequest` not exported --- src/https.android.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/https.android.ts b/src/https.android.ts index 5d91fd6..8671be7 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -346,7 +346,7 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt return Client; } -function cancelRequest(tag: string, client: okhttp3.OkHttpClient) { +export function cancelRequest(tag: string, client: okhttp3.OkHttpClient) { if (notClosedResponses[tag]) { notClosedResponses[tag].cancel(); return; From 4f524b10569ab14d0e60fc3381deb49d12e18a2d Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 15 Jan 2022 14:29:32 +0100 Subject: [PATCH 012/216] v3.3.7 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abba438..e4ded60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.7](https://github.com/farfromrefug/nativescript-https/compare/v3.3.6...v3.3.7) (2022-01-15) + + +### Bug Fixes + +* **android:** `cancelRequest` not exported ([9727802](https://github.com/farfromrefug/nativescript-https/commit/972780279a291d3f95636601450198a78d935696)) + + + + + ## [3.3.6](https://github.com/farfromrefug/nativescript-https/compare/v3.3.5...v3.3.6) (2022-01-15) diff --git a/lerna.json b/lerna.json index 4f4fd75..cd17989 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.6", + "version": "3.3.7", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 3f18729..8798440 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.7](https://github.com/farfromrefug/nativescript-https/compare/v3.3.6...v3.3.7) (2022-01-15) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.6](https://github.com/farfromrefug/nativescript-https/compare/v3.3.5...v3.3.6) (2022-01-15) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index 8ab3ece..e865d95 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.6", + "version": "3.3.7", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From c7b8c935a6b02dc4f9e5c20c6911b2e59db8fa64 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 15 Jan 2022 15:13:29 +0100 Subject: [PATCH 013/216] fix(android): `cancelRequest` fix --- src/https.android.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/https.android.ts b/src/https.android.ts index 8671be7..1a50294 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -346,7 +346,10 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt return Client; } -export function cancelRequest(tag: string, client: okhttp3.OkHttpClient) { +export function cancelRequest(tag: string, client: okhttp3.OkHttpClient = runningClients[tag]) { + if (!client) { + return; + } if (notClosedResponses[tag]) { notClosedResponses[tag].cancel(); return; @@ -382,6 +385,9 @@ let CALL_ID = 0; const notClosedResponses: { [k: string]: com.nativescript.https.OkHttpResponse; } = {}; + +const runningClients: { [k: string]: okhttp3.OkHttpClient } = {}; + let OkHttpResponse: typeof com.nativescript.https.OkHttpResponse; export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest { const client = getClient(false, opts.timeout); @@ -458,7 +464,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque } const tag = opts.tag || `okhttp_request_${CALL_ID++}`; const call = client.newCall(request.tag(tag).build()); - + runningClients[tag] = client; // We have to allow networking on the main thread because larger responses will crash the app with an NetworkOnMainThreadException. // Note that it would probably be better to offload it to a Worker or (natively running) AsyncTask. // Also note that once set, this policy remains active until the app is killed. @@ -472,6 +478,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque call.enqueue( new okhttp3.Callback({ onResponse(call, response) { + delete runningClients[tag]; const responseBody = response.body(); const message = response.message(); const statusCode = response.code(); @@ -522,6 +529,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque } }, onFailure(task, error) { + delete runningClients[tag]; reject(error); }, }) From 451b4fc52a470e700e7cb47703fb8c42f6198ea7 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Tue, 18 Jan 2022 21:50:10 +0100 Subject: [PATCH 014/216] feat!: `useLegacy` is now default => * Your answer handling needs to be updated. `content` is now of type [HttpsResponseLegacy](https://github.com/farfromrefug/nativescript-https/blob/c7b8c935a6b02dc4f9e5c20c6911b2e59db8fa64/src/https.common.ts#L74) * `useLegacy` is not a request option anymore it is now the second optional parameter to the [request](https://github.com/farfromrefug/nativescript-https/blob/c7b8c935a6b02dc4f9e5c20c6911b2e59db8fa64/src/https.d.ts#L7) method --- src/https.android.ts | 10 +++++----- src/https.common.ts | 7 +++---- src/https.d.ts | 2 +- src/https.ios.ts | 12 +++++------- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/https.android.ts b/src/https.android.ts index 1a50294..8f32c3d 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -389,7 +389,7 @@ const notClosedResponses: { const runningClients: { [k: string]: okhttp3.OkHttpClient } = {}; let OkHttpResponse: typeof com.nativescript.https.OkHttpResponse; -export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest { +export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolean = true): Https.HttpsRequest { const client = getClient(false, opts.timeout); const request = new okhttp3.Request.Builder(); @@ -468,7 +468,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque // We have to allow networking on the main thread because larger responses will crash the app with an NetworkOnMainThreadException. // Note that it would probably be better to offload it to a Worker or (natively running) AsyncTask. // Also note that once set, this policy remains active until the app is killed. - if (opts.useLegacy === false && opts.allowLargeResponse) { + if (useLegacy === false && opts.allowLargeResponse) { android.os.StrictMode.setThreadPolicy(android.os.StrictMode.ThreadPolicy.LAX); } return { @@ -494,7 +494,7 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque } return headers; }; - if (opts.useLegacy) { + if (useLegacy) { if (!OkHttpResponse) { OkHttpResponse = com.nativescript.https.OkHttpResponse; } @@ -538,10 +538,10 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque }; } -export function request(opts: Https.HttpsRequestOptions) { +export function request(opts: Https.HttpsRequestOptions, useLegacy: boolean = true) { return new Promise((resolve, reject) => { try { - createRequest(opts).run(resolve, reject); + createRequest(opts, useLegacy).run(resolve, reject); } catch (error) { reject(error); } diff --git a/src/https.common.ts b/src/https.common.ts index f951fc0..99e434d 100644 --- a/src/https.common.ts +++ b/src/https.common.ts @@ -52,7 +52,6 @@ export interface HttpsRequestOptions extends HttpRequestOptions { onProgress?: (current: number, total: number) => void; cachePolicy?: CachePolicy; - useLegacy?: boolean; } export interface HttpsResponse { @@ -71,14 +70,14 @@ export interface HttpsRequest { run(success, failure); } -export interface HttpsResponseLegacy { +export interface HttpsResponseLegacy { toArrayBuffer(): ArrayBuffer; toArrayBufferAsync(): Promise; toString(): string; toStringAsync(): Promise; - toJSON(): any; - toJSONAsync(): Promise; + toJSON(): T; + toJSONAsync(): Promise; toImage(): Promise; // toImageAsync(): Promise; toFile(destinationFilePath: string): Promise; diff --git a/src/https.d.ts b/src/https.d.ts index 3bd3362..177c3ba 100644 --- a/src/https.d.ts +++ b/src/https.d.ts @@ -4,7 +4,7 @@ export function enableSSLPinning(options: Https.HttpsSSLPinningOptions); export function disableSSLPinning(); -export function request(options: Https.HttpsRequestOptions): Promise>; +export function request(options: Https.HttpsRequestOptions, useLegacy?: U): U extends true ? Promise> : Promise>; export function setCache(options?: Https.CacheOptions); export function clearCache(); export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest; diff --git a/src/https.ios.ts b/src/https.ios.ts index fb81b90..7e1d236 100644 --- a/src/https.ios.ts +++ b/src/https.ios.ts @@ -306,7 +306,7 @@ export function cancelRequest(tag: string) { } } -export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest { +export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolean = true): Https.HttpsRequest { const type = opts.headers && opts.headers['Content-Type'] ? (opts.headers['Content-Type'] as string) : 'application/json'; if (type.startsWith('application/json')) { manager.requestSerializer = AFJSONRequestSerializer.serializer(); @@ -356,12 +356,10 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque manager.requestSerializer.timeoutInterval = opts.timeout ? opts.timeout : 10; - const useLegacy = Utils.isDefined(opts.useLegacy) ? opts.useLegacy : false; - const progress = opts.onProgress ? (progress: NSProgress) => { - opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); - } + opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); + } : null; let task: NSURLSessionDataTask; const tag = opts.tag; @@ -473,10 +471,10 @@ export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsReque }, }; } -export function request(opts: Https.HttpsRequestOptions) { +export function request(opts: Https.HttpsRequestOptions, useLegacy: boolean = true) { return new Promise((resolve, reject) => { try { - createRequest(opts).run(resolve, reject); + createRequest(opts, useLegacy).run(resolve, reject); } catch (error) { reject(error); } From 29247b1260651e7eb3499e14c0e50461fe42fde4 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Tue, 18 Jan 2022 21:50:28 +0100 Subject: [PATCH 015/216] v3.3.8 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4ded60..ae735b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.8](https://github.com/farfromrefug/nativescript-https/compare/v3.3.7...v3.3.8) (2022-01-18) + + +### Bug Fixes + +* **android:** `cancelRequest` fix ([c7b8c93](https://github.com/farfromrefug/nativescript-https/commit/c7b8c935a6b02dc4f9e5c20c6911b2e59db8fa64)) + + + + + ## [3.3.7](https://github.com/farfromrefug/nativescript-https/compare/v3.3.6...v3.3.7) (2022-01-15) diff --git a/lerna.json b/lerna.json index cd17989..e1f79b0 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.7", + "version": "3.3.8", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 8798440..9a00196 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.8](https://github.com/farfromrefug/nativescript-https/compare/v3.3.7...v3.3.8) (2022-01-18) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.7](https://github.com/farfromrefug/nativescript-https/compare/v3.3.6...v3.3.7) (2022-01-15) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index e865d95..532bde8 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.7", + "version": "3.3.8", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 05a17d825dfe33f56f03ac9ca11fd503a806509c Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Tue, 18 Jan 2022 21:52:26 +0100 Subject: [PATCH 016/216] v3.3.9 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae735b0..cb08965 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.9](https://github.com/nativescript-community/https/compare/v3.3.8...v3.3.9) (2022-01-18) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.8](https://github.com/farfromrefug/nativescript-https/compare/v3.3.7...v3.3.8) (2022-01-18) diff --git a/lerna.json b/lerna.json index e1f79b0..9790526 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.8", + "version": "3.3.9", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 9a00196..739ebf6 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.9](https://github.com/nativescript-community/https/compare/v3.3.8...v3.3.9) (2022-01-18) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.8](https://github.com/farfromrefug/nativescript-https/compare/v3.3.7...v3.3.8) (2022-01-18) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index 532bde8..00d9570 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.8", + "version": "3.3.9", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 3490469cdc019265ec321ff9db37b94100f94b49 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Wed, 19 Jan 2022 13:40:54 +0100 Subject: [PATCH 017/216] fix: typings fix --- src/https.d.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/https.d.ts b/src/https.d.ts index 177c3ba..aa899b9 100644 --- a/src/https.d.ts +++ b/src/https.d.ts @@ -4,7 +4,11 @@ export function enableSSLPinning(options: Https.HttpsSSLPinningOptions); export function disableSSLPinning(); -export function request(options: Https.HttpsRequestOptions, useLegacy?: U): U extends true ? Promise> : Promise>; +// export declare function request(options: Https.HttpsRequestOptions): Promise>>; +export declare function request( + options: Https.HttpsRequestOptions, + useLegacy?: U +): U extends true ? Promise>> : Promise>; export function setCache(options?: Https.CacheOptions); export function clearCache(); export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest; From cb62e2ec0b8235c72806631d3ad7fb7d5282ba87 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Wed, 19 Jan 2022 13:41:11 +0100 Subject: [PATCH 018/216] v3.3.10 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb08965..e69cf7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.10](https://github.com/nativescript-community/https/compare/v3.3.9...v3.3.10) (2022-01-19) + + +### Bug Fixes + +* typings fix ([3490469](https://github.com/nativescript-community/https/commit/3490469cdc019265ec321ff9db37b94100f94b49)) + + + + + ## [3.3.9](https://github.com/nativescript-community/https/compare/v3.3.8...v3.3.9) (2022-01-18) **Note:** Version bump only for package @nativescript-community/https diff --git a/lerna.json b/lerna.json index 9790526..3886dc6 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.9", + "version": "3.3.10", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 739ebf6..60168c9 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.10](https://github.com/nativescript-community/https/compare/v3.3.9...v3.3.10) (2022-01-19) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.9](https://github.com/nativescript-community/https/compare/v3.3.8...v3.3.9) (2022-01-18) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index 00d9570..bb0726a 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.9", + "version": "3.3.10", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 06dc376b01683675ef2a90135396ec5a9f1cf60a Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 20 Jan 2022 10:32:53 +0100 Subject: [PATCH 019/216] fix(android): native-api-usage fix --- plugin/platforms/android/native-api-usage.json | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/platforms/android/native-api-usage.json b/plugin/platforms/android/native-api-usage.json index 121770d..1e40deb 100644 --- a/plugin/platforms/android/native-api-usage.json +++ b/plugin/platforms/android/native-api-usage.json @@ -3,6 +3,7 @@ "android.os:StrictMode*", "android.os.StrictMode:ThreadPolicy*", "okhttp3:Call*", + "okhttp3:Dispatcher*", "okhttp3:RequestBody*", "okhttp3:MediaType*", "okhttp3:MultipartBody*", From e776b25b395c336364242947249098dc050b5a60 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 20 Jan 2022 10:33:13 +0100 Subject: [PATCH 020/216] v3.3.11 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 11 +++++++++++ plugin/package.json | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e69cf7b..07780c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.11](https://github.com/nativescript-community/https/compare/v3.3.10...v3.3.11) (2022-01-20) + + +### Bug Fixes + +* **android:** native-api-usage fix ([06dc376](https://github.com/nativescript-community/https/commit/06dc376b01683675ef2a90135396ec5a9f1cf60a)) + + + + + ## [3.3.10](https://github.com/nativescript-community/https/compare/v3.3.9...v3.3.10) (2022-01-19) diff --git a/lerna.json b/lerna.json index 3886dc6..621df6a 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.10", + "version": "3.3.11", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 60168c9..0d86f1d 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.11](https://github.com/nativescript-community/https/compare/v3.3.10...v3.3.11) (2022-01-20) + + +### Bug Fixes + +* **android:** native-api-usage fix ([06dc376](https://github.com/nativescript-community/https/commit/06dc376b01683675ef2a90135396ec5a9f1cf60a)) + + + + + ## [3.3.10](https://github.com/nativescript-community/https/compare/v3.3.9...v3.3.10) (2022-01-19) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index bb0726a..dd9ee01 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.10", + "version": "3.3.11", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 67817ac284f8da424829b0c400b5c2c788ccf9dc Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 20 Jan 2022 14:34:13 +0100 Subject: [PATCH 021/216] fix(android): progress support for uploading --- .../https/ProgressRequestWrapper.java | 73 +++++++++++++++++++ src/https.android.ts | 10 +++ src/typings/android.d.ts | 9 +++ 3 files changed, 92 insertions(+) create mode 100644 plugin/platforms/android/java/com/nativescript/https/ProgressRequestWrapper.java diff --git a/plugin/platforms/android/java/com/nativescript/https/ProgressRequestWrapper.java b/plugin/platforms/android/java/com/nativescript/https/ProgressRequestWrapper.java new file mode 100644 index 0000000..86a7f3c --- /dev/null +++ b/plugin/platforms/android/java/com/nativescript/https/ProgressRequestWrapper.java @@ -0,0 +1,73 @@ +package com.nativescript.https; + +import okhttp3.RequestBody; +import okhttp3.MediaType; + +import java.io.IOException; + +import okio.Buffer; +import okio.BufferedSink; +import okio.ForwardingSink; +import okio.Okio; +import okio.Sink; + +public class ProgressRequestWrapper extends RequestBody { + + protected RequestBody delegate; + protected ProgressListener listener; + + protected CountingSink countingSink; + + public ProgressRequestWrapper(RequestBody delegate, ProgressListener listener) { + this.delegate = delegate; + this.listener = listener; + } + + @Override + public MediaType contentType() { + return delegate.contentType(); + } + + @Override + public long contentLength() throws IOException { + return delegate.contentLength(); + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + + BufferedSink bufferedSink; + + countingSink = new CountingSink(sink); + bufferedSink = Okio.buffer(countingSink); + + delegate.writeTo(bufferedSink); + + bufferedSink.flush(); + } + + protected final class CountingSink extends ForwardingSink { + + private long bytesWritten = 0; + + public CountingSink(Sink delegate) { + super(delegate); + } + + @Override + public void write(Buffer source, long byteCount) throws IOException { + + super.write(source, byteCount); + + bytesWritten += byteCount; + listener.onRequestProgress(bytesWritten, contentLength()); + } + + } + + public interface ProgressListener { + + void onRequestProgress(long bytesWritten, long contentLength); + + } +} \ No newline at end of file diff --git a/src/https.android.ts b/src/https.android.ts index 8f32c3d..a48db24 100644 --- a/src/https.android.ts +++ b/src/https.android.ts @@ -443,6 +443,16 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea } }); okHttpBody = builder.build(); + if (opts.onProgress) { + okHttpBody = new com.nativescript.https.ProgressRequestWrapper( + okHttpBody, + new com.nativescript.https.ProgressRequestWrapper.ProgressListener({ + onRequestProgress(bytesWritten: number, contentLength: number) { + opts.onProgress(bytesWritten, contentLength); + }, + }) + ); + } } else if (type === 'application/x-www-form-urlencoded') { const builder = new okhttp3.FormBody.Builder(); Object.keys(opts.body).forEach((key) => { diff --git a/src/typings/android.d.ts b/src/typings/android.d.ts index e4d67ee..393ac16 100644 --- a/src/typings/android.d.ts +++ b/src/typings/android.d.ts @@ -22,6 +22,15 @@ declare namespace com { toFile(); toFileAsync(filePath: string, callback: OkHttpResponse.OkHttpResponseAsyncCallback); } + export class ProgressRequestWrapper extends okhttp3.RequestBody { + constructor(body: okhttp3.RequestBody, listener: ProgressRequestWrapper.ProgressListener); + } + export namespace ProgressRequestWrapper { + export class ProgressListener { + constructor(impl: { onRequestProgress(current: number, total: number) }); + onRequestProgress(current: number, total: number); + } + } export namespace OkHttpResponse { export class OkHttpResponseProgressCallback { constructor(impl: { onProgress(current: number, total: number) }); From 873ca64dc8f4197d6d9e40f58db37c388932db74 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 20 Jan 2022 14:34:45 +0100 Subject: [PATCH 022/216] v3.3.12 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 11 +++++++++++ plugin/package.json | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07780c4..cf1c70b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.12](https://github.com/nativescript-community/https/compare/v3.3.11...v3.3.12) (2022-01-20) + + +### Bug Fixes + +* **android:** progress support for uploading ([67817ac](https://github.com/nativescript-community/https/commit/67817ac284f8da424829b0c400b5c2c788ccf9dc)) + + + + + ## [3.3.11](https://github.com/nativescript-community/https/compare/v3.3.10...v3.3.11) (2022-01-20) diff --git a/lerna.json b/lerna.json index 621df6a..5ec116b 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.11", + "version": "3.3.12", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 0d86f1d..499a46b 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.12](https://github.com/nativescript-community/https/compare/v3.3.11...v3.3.12) (2022-01-20) + + +### Bug Fixes + +* **android:** progress support for uploading ([67817ac](https://github.com/nativescript-community/https/commit/67817ac284f8da424829b0c400b5c2c788ccf9dc)) + + + + + ## [3.3.11](https://github.com/nativescript-community/https/compare/v3.3.10...v3.3.11) (2022-01-20) diff --git a/plugin/package.json b/plugin/package.json index dd9ee01..e8fa593 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.11", + "version": "3.3.12", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From d234842c5a29b8a360aae6c91dce80821630eea1 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Tue, 8 Feb 2022 13:59:41 +0100 Subject: [PATCH 023/216] fix(ios): fix form data passed as a string --- src/https.ios.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/https.ios.ts b/src/https.ios.ts index 7e1d236..6d059ff 100644 --- a/src/https.ios.ts +++ b/src/https.ios.ts @@ -425,8 +425,11 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea if (param.data instanceof NSURL) { formData.appendPartWithFileURLNameFileNameMimeTypeError(param.data, param.parameterName, param.fileName, param.contentType); } else { - // console.log('addding file data', param.data instanceof NSData); - formData.appendPartWithFileDataNameFileNameMimeType(param.data, param.parameterName, param.fileName, param.contentType); + let data = param.data; + if (typeof data === 'string') { + data = NSString.stringWithString(data).dataUsingEncoding(NSUTF8StringEncoding); + } + formData.appendPartWithFileDataNameFileNameMimeType(data, param.parameterName, param.fileName, param.contentType); } } else { formData.appendPartWithFormDataName(NSString.stringWithString(param.data).dataUsingEncoding(NSUTF8StringEncoding), param.parameterName); From 1cc655a0e5e930133029aafa44aae78efe6eac8b Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Tue, 8 Feb 2022 14:00:26 +0100 Subject: [PATCH 024/216] v3.3.13 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf1c70b..8de108d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.13](https://github.com/nativescript-community/https/compare/v3.3.12...v3.3.13) (2022-02-08) + + +### Bug Fixes + +* **ios:** fix form data passed as a string ([d234842](https://github.com/nativescript-community/https/commit/d234842c5a29b8a360aae6c91dce80821630eea1)) + + + + + ## [3.3.12](https://github.com/nativescript-community/https/compare/v3.3.11...v3.3.12) (2022-01-20) diff --git a/lerna.json b/lerna.json index 5ec116b..dacba6b 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.12", + "version": "3.3.13", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 499a46b..890bb47 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.13](https://github.com/nativescript-community/https/compare/v3.3.12...v3.3.13) (2022-02-08) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.3.12](https://github.com/nativescript-community/https/compare/v3.3.11...v3.3.12) (2022-01-20) diff --git a/plugin/package.json b/plugin/package.json index e8fa593..2cdfa9f 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.12", + "version": "3.3.13", "description": "Nativescript plugin for gestures", "main": "https", "sideEffects": false, From 22ac92f572c9b2739c40f5a39f47ac67d28a78ee Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 25 Feb 2022 14:33:14 +0100 Subject: [PATCH 025/216] feat: refactoring to allow N alias to replace core impl --- package.json | 2 +- plugin/package.json | 4 +- src/https.d.ts | 17 ----- src/index.d.ts | 68 ++++++++++++++++++++ src/index.ts | 28 ++++++++ src/{https.android.ts => request.android.ts} | 32 ++++----- src/request.common.ts | 34 ++++++++++ src/{https.common.ts => request.d.ts} | 50 +++++--------- src/{https.ios.ts => request.ios.ts} | 38 +++++------ 9 files changed, 185 insertions(+), 88 deletions(-) delete mode 100644 src/https.d.ts create mode 100644 src/index.d.ts create mode 100644 src/index.ts rename src/{https.android.ts => request.android.ts} (93%) create mode 100644 src/request.common.ts rename src/{https.common.ts => request.d.ts} (68%) rename src/{https.ios.ts => request.ios.ts} (93%) diff --git a/package.json b/package.json index 37d9807..3bab15f 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Nativescript plugin for gestures", "scripts": { - "tsc": "cp src/https.d.ts plugin && tsc -skipLibCheck -d", + "tsc": "cp src/index.d.ts src/request.d.ts plugin && tsc -skipLibCheck -d", "clean": "rimraf ./plugin/**/*.d.ts ./plugin/**/*.js ./plugin/**/*.js.map plugin/node_modules plugin/package-lock.json", "build.plugin": " cp README.md plugin/ && rm -f .tsbuildinfo && npm run tsc", "build.android": "bash src-native/android/build.sh", diff --git a/plugin/package.json b/plugin/package.json index 2cdfa9f..24d9dfb 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -2,9 +2,9 @@ "name": "@nativescript-community/https", "version": "3.3.13", "description": "Nativescript plugin for gestures", - "main": "https", + "main": "index", "sideEffects": false, - "typings": "https.d.ts", + "typings": "index.d.ts", "nativescript": { "platforms": { "android": "6.2.1", diff --git a/src/https.d.ts b/src/https.d.ts deleted file mode 100644 index aa899b9..0000000 --- a/src/https.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as Https from './https.common'; - -export function enableSSLPinning(options: Https.HttpsSSLPinningOptions); - -export function disableSSLPinning(); - -// export declare function request(options: Https.HttpsRequestOptions): Promise>>; -export declare function request( - options: Https.HttpsRequestOptions, - useLegacy?: U -): U extends true ? Promise>> : Promise>; -export function setCache(options?: Https.CacheOptions); -export function clearCache(); -export function createRequest(opts: Https.HttpsRequestOptions): Https.HttpsRequest; -export function cancelRequest(tag: string); -export function addNetworkInterceptor(interceptor); -export * from './https.common'; diff --git a/src/index.d.ts b/src/index.d.ts new file mode 100644 index 0000000..3346437 --- /dev/null +++ b/src/index.d.ts @@ -0,0 +1,68 @@ +/* eslint-disable @typescript-eslint/unified-signatures */ +/* eslint-disable no-redeclare */ +import { ImageSource } from '@nativescript/core'; +import { HttpsRequestOptions } from './request'; + +export * from './request'; + +/** + * Downloads the content from the specified URL as a string. + * @param url The URL to request from. + */ +export function getString(url: string): Promise; + +/** + * Downloads the content from the specified URL as a string. + * @param options An object that specifies various request options. + */ +export function getString(options: HttpsRequestOptions): Promise; + +/** + * Downloads the content from the specified URL as a string and returns its JSON.parse representation. + * @param url The URL to request from. + */ +export function getJSON(url: string): Promise; + +/** + * Downloads the content from the specified URL as a string and returns its JSON.parse representation. + * @param options An object that specifies various request options. + */ +export function getJSON(options: HttpsRequestOptions): Promise; + +/** + * Downloads the content from the specified URL and attempts to decode it as an image. + * @param url The URL to request from. + */ +export function getImage(url: string): Promise; + +/** + * Downloads the content from the specified URL and attempts to decode it as an image. + * @param options An object that specifies various request options. + */ +export function getImage(options: HttpsRequestOptions): Promise; + +/** + * Downloads the content from the specified URL and attempts to save it as file. + * @param url The URL to request from. + * @param destinationFilePath Optional. The downloaded file path. + */ +export function getFile(url: string, destinationFilePath?: string): Promise; + +/** + * Downloads the content from the specified URL and attempts to save it as file. + * @param options An object that specifies various request options. + * @param destinationFilePath Optional. The downloaded file path. + */ +export function getFile(options: HttpsRequestOptions, destinationFilePath?: string): Promise; + +/** + * Downloads the content from the specified URL as binary and returns an ArrayBuffer. + * @param url The URL to request from. + */ +export function getBinary(url: string): Promise; + +/** + * Downloads the content from the specified URL as binary and returns an ArrayBuffer. + * @param options An object that specifies various request options. + */ +export function getBinary(options: HttpsRequestOptions): Promise; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..fdaeb31 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,28 @@ +import { ImageSource } from '@nativescript/core'; +import { request } from './request'; +export * from './request'; + +export async function getString(arg: any): Promise { + const r = await request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg); + return r.content.toString(); +} + +export async function getJSON(arg: any): Promise { + const r = await request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg); + return r.content.toJSON(); +} + +export async function getImage(arg: any): Promise { + const r = await request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg); + return r.content.toImage(); +} + +export async function getFile(arg: any, destinationFilePath?: string): Promise { + const r = await request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg); + return r.content.toFile(destinationFilePath); +} + +export async function getBinary(arg: any): Promise { + const r = await request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg); + return r.content.toArrayBuffer(); +} diff --git a/src/https.android.ts b/src/request.android.ts similarity index 93% rename from src/https.android.ts rename to src/request.android.ts index a48db24..1a124ec 100644 --- a/src/https.android.ts +++ b/src/request.android.ts @@ -1,7 +1,7 @@ import { File, HttpResponseEncoding, ImageSource, Utils } from '@nativescript/core'; -import * as Https from './https.common'; +import { CacheOptions, getFilenameFromUrl, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions, interceptors, networkInterceptors, parseJSON } from '.'; -export { addNetworkInterceptor, addInterceptor } from './https.common'; +export { addNetworkInterceptor, addInterceptor } from './request.common'; interface Ipeer { enabled: boolean; @@ -21,7 +21,7 @@ const peer: Ipeer = { let cache: okhttp3.Cache; let forceCache = false; -export function setCache(options?: Https.CacheOptions) { +export function setCache(options?: CacheOptions) { if (options) { forceCache = options.forceCache === true; cache = new okhttp3.Cache(new java.io.File(options.diskLocation), options.diskSize); @@ -40,7 +40,7 @@ export function clearCache() { let _timeout = 10; -class HttpsResponse implements Https.HttpsResponseLegacy { +class HttpsResponseLegacyIOS implements HttpsResponseLegacy { private callback?: com.nativescript.https.OkHttpResponse.OkHttpResponseAsyncCallback; constructor(private response: com.nativescript.https.OkHttpResponse, private tag: string, private url: string) {} @@ -130,7 +130,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { } // TODO: handle arraybuffer already stored this.stringResponse = this.stringResponse || this.response.asString(); - this.jsonResponse = this.stringResponse ? Https.parseJSON(this.stringResponse) : null; + this.jsonResponse = this.stringResponse ? parseJSON(this.stringResponse) : null; return this.jsonResponse; } catch (err) { console.error('HttpsResponse.toJSON', err); @@ -143,12 +143,12 @@ class HttpsResponse implements Https.HttpsResponseLegacy { return this.jsonResponse; } if (this.stringResponse !== undefined) { - this.jsonResponse = this.stringResponse ? Https.parseJSON(this.stringResponse) : null; + this.jsonResponse = this.stringResponse ? parseJSON(this.stringResponse) : null; return this.jsonResponse; } // TODO: handle arraybuffer already stored const r = await this.toStringAsync(); - this.jsonResponse = r ? Https.parseJSON(r) : null; + this.jsonResponse = r ? parseJSON(r) : null; return this.jsonResponse; } @@ -168,7 +168,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { } // toFile(destinationFilePath: string): File { // if (!destinationFilePath) { - // destinationFilePath = Https.getFilenameFromUrl(this.url); + // destinationFilePath = getFilenameFromUrl(this.url); // } // const file = this.response.toFile(destinationFilePath); // return File.fromPath(destinationFilePath); @@ -180,7 +180,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { return Promise.resolve(this.file); } if (!destinationFilePath) { - destinationFilePath = Https.getFilenameFromUrl(this.url); + destinationFilePath = getFilenameFromUrl(this.url); } return new Promise((resolve, reject) => { this.getOrCreateCloseCallback(); @@ -192,7 +192,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { } } -export function enableSSLPinning(options: Https.HttpsSSLPinningOptions) { +export function enableSSLPinning(options: HttpsSSLPinningOptions) { if (!peer.host && !peer.certificate) { let certificate: string; let inputStream: java.io.FileInputStream; @@ -268,8 +268,8 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt } const builder = new okhttp3.OkHttpClient.Builder(); - Https.interceptors.forEach((interceptor) => builder.addInterceptor(interceptor)); - Https.networkInterceptors.forEach((interceptor) => builder.addNetworkInterceptor(interceptor)); + interceptors.forEach((interceptor) => builder.addInterceptor(interceptor)); + networkInterceptors.forEach((interceptor) => builder.addNetworkInterceptor(interceptor)); if (peer.enabled === true) { if (peer.host || peer.certificate) { const spec = okhttp3.ConnectionSpec.MODERN_TLS; @@ -389,7 +389,7 @@ const notClosedResponses: { const runningClients: { [k: string]: okhttp3.OkHttpClient } = {}; let OkHttpResponse: typeof com.nativescript.https.OkHttpResponse; -export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolean = true): Https.HttpsRequest { +export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = true): HttpsRequest { const client = getClient(false, opts.timeout); const request = new okhttp3.Request.Builder(); @@ -434,7 +434,7 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea const builder = new okhttp3.MultipartBody.Builder(); builder.setType(MEDIA_TYPE); - (opts.body as Https.HttpsFormDataParam[]).forEach((param) => { + (opts.body as HttpsFormDataParam[]).forEach((param) => { if (param.fileName && param.contentType) { const MEDIA_TYPE = okhttp3.MediaType.parse(param.contentType); builder.addFormDataPart(param.parameterName, param.fileName, okhttp3.RequestBody.create(MEDIA_TYPE, param.data)); @@ -519,7 +519,7 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea resolve({ response, - content: new HttpsResponse(nResponse, tag, opts.url), + content: new HttpsResponseLegacyIOS(nResponse, tag, opts.url), statusCode, reason: message, get headers() { @@ -548,7 +548,7 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea }; } -export function request(opts: Https.HttpsRequestOptions, useLegacy: boolean = true) { +export function request(opts: HttpsRequestOptions, useLegacy: boolean = true) { return new Promise((resolve, reject) => { try { createRequest(opts, useLegacy).run(resolve, reject); diff --git a/src/request.common.ts b/src/request.common.ts new file mode 100644 index 0000000..72de13d --- /dev/null +++ b/src/request.common.ts @@ -0,0 +1,34 @@ +import { knownFolders, path } from '@nativescript/core'; + +export function getFilenameFromUrl(url: string) { + const slashPos = url.lastIndexOf('/') + 1; + const questionMarkPos = url.lastIndexOf('?'); + + let actualFileName: string; + if (questionMarkPos !== -1) { + actualFileName = url.substring(slashPos, questionMarkPos); + } else { + actualFileName = url.substring(slashPos); + } + + const result = path.join(knownFolders.documents().path, actualFileName); + + return result; +} +export function parseJSON(source: string): any { + const src = source.trim(); + if (src.lastIndexOf(')') === src.length - 1) { + return JSON.parse(src.substring(src.indexOf('(') + 1, src.lastIndexOf(')'))); + } + + return JSON.parse(src); +} + +export const interceptors = []; +export function addInterceptor(interceptor) { + interceptors.push(interceptor); +} +export const networkInterceptors = []; +export function addNetworkInterceptor(interceptor) { + networkInterceptors.push(interceptor); +} diff --git a/src/https.common.ts b/src/request.d.ts similarity index 68% rename from src/https.common.ts rename to src/request.d.ts index 99e434d..80f520c 100644 --- a/src/https.common.ts +++ b/src/request.d.ts @@ -1,4 +1,5 @@ -import { File, Headers, HttpRequestOptions, ImageSource, knownFolders, path } from '@nativescript/core'; +import { File, HttpRequestOptions, ImageSource } from '@nativescript/core'; +import * as Https from './request.common'; export interface HttpsSSLPinningOptions { host: string; @@ -84,35 +85,18 @@ export interface HttpsResponseLegacy { // toFileAsync(destinationFilePath: string): Promise; } -export function getFilenameFromUrl(url: string) { - const slashPos = url.lastIndexOf('/') + 1; - const questionMarkPos = url.lastIndexOf('?'); - - let actualFileName: string; - if (questionMarkPos !== -1) { - actualFileName = url.substring(slashPos, questionMarkPos); - } else { - actualFileName = url.substring(slashPos); - } - - const result = path.join(knownFolders.documents().path, actualFileName); - - return result; -} -export function parseJSON(source: string): any { - const src = source.trim(); - if (src.lastIndexOf(')') === src.length - 1) { - return JSON.parse(src.substring(src.indexOf('(') + 1, src.lastIndexOf(')'))); - } - - return JSON.parse(src); -} - -export const interceptors = []; -export function addInterceptor(interceptor) { - interceptors.push(interceptor); -} -export const networkInterceptors = []; -export function addNetworkInterceptor(interceptor) { - networkInterceptors.push(interceptor); -} +export function enableSSLPinning(options: HttpsSSLPinningOptions); + +export function disableSSLPinning(); + +// export declare function request(options: HttpsRequestOptions): Promise>>; +export declare function request( + options: HttpsRequestOptions, + useLegacy?: U +): U extends true ? Promise>> : Promise>; +export function setCache(options?: CacheOptions); +export function clearCache(); +export function createRequest(opts: HttpsRequestOptions): HttpsRequest; +export function cancelRequest(tag: string); +export function addNetworkInterceptor(interceptor); +export * from './request.common'; diff --git a/src/https.ios.ts b/src/request.ios.ts similarity index 93% rename from src/https.ios.ts rename to src/request.ios.ts index 6d059ff..f3e7767 100644 --- a/src/https.ios.ts +++ b/src/request.ios.ts @@ -1,10 +1,10 @@ import { File, ImageSource, Utils } from '@nativescript/core'; -import * as Https from './https.common'; -export { addNetworkInterceptor, addInterceptor } from './https.common'; +import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponse, HttpsResponseLegacy, HttpsSSLPinningOptions, getFilenameFromUrl, parseJSON } from '.'; +export { addInterceptor, addNetworkInterceptor } from './request.common'; let cache: NSURLCache; -export function setCache(options?: Https.CacheOptions) { +export function setCache(options?: CacheOptions) { if (options) { cache = NSURLCache.alloc().initWithMemoryCapacityDiskCapacityDiskPath(options.memorySize, options.diskSize, options.diskLocation); } else { @@ -30,7 +30,7 @@ const policies: Ipolicies = { policies.def.allowInvalidCertificates = true; policies.def.validatesDomainName = false; -export function enableSSLPinning(options: Https.HttpsSSLPinningOptions) { +export function enableSSLPinning(options: HttpsSSLPinningOptions) { if (!policies.secure) { policies.secure = AFSecurityPolicy.policyWithPinningMode(AFSSLPinningMode.PublicKey); policies.secure.allowInvalidCertificates = Utils.isDefined(options.allowInvalidCertificates) ? options.allowInvalidCertificates : false; @@ -89,7 +89,7 @@ function getData(data) { return content; } -class HttpsResponse implements Https.HttpsResponseLegacy { +class HttpsResponseLegacyAndroid implements HttpsResponseLegacy { // private callback?: com.nativescript.https.OkhttpResponse.OkHttpResponseAsyncCallback; constructor(private data: NSDictionary & NSData & NSArray, private url: string) {} toArrayBufferAsync(): Promise { @@ -149,7 +149,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { return this.jsonResponse; } if (this.stringResponse) { - this.jsonResponse = Https.parseJSON(this.stringResponse); + this.jsonResponse = parseJSON(this.stringResponse); return this.jsonResponse; } const data = nativeToObj(this.data); @@ -159,7 +159,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { } try { this.stringResponse = data; - this.jsonResponse = Https.parseJSON(data); + this.jsonResponse = parseJSON(data); return this.jsonResponse; } catch (err) { console.error('HttpsResponse.toJSON', err); @@ -200,7 +200,7 @@ class HttpsResponse implements Https.HttpsResponseLegacy { } return new Promise((resolve, reject) => { if (!destinationFilePath) { - destinationFilePath = Https.getFilenameFromUrl(this.url); + destinationFilePath = getFilenameFromUrl(this.url); } if (this.data instanceof NSData) { // ensure destination path exists by creating any missing parent directories @@ -227,13 +227,13 @@ function AFFailure(resolve, reject, task: NSURLSessionDataTask, error: NSError, return reject(new Error(error.localizedDescription)); } let getHeaders = () => ({}); - const sendi = { + const sendi = ({ task, reason: error.localizedDescription, get headers() { return getHeaders(); }, - } as Https.HttpsResponse; + } as any) as HttpsResponse; const response = error.userInfo.valueForKey(AFNetworkingOperationFailingURLResponseErrorKey) as NSHTTPURLResponse; if (!Utils.isNullOrUndefined(response)) { sendi.statusCode = response.statusCode; @@ -264,7 +264,7 @@ function AFFailure(resolve, reject, task: NSURLSessionDataTask, error: NSError, failure.description = '@nativescript-community/https > Invalid SSL certificate! ' + error.description; } sendi.failure = failure; - sendi.content = new HttpsResponse(data, url); + sendi.content = new HttpsResponseLegacyAndroid(data, url); resolve(sendi); } else { const content: any = { @@ -306,7 +306,7 @@ export function cancelRequest(tag: string) { } } -export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolean = true): Https.HttpsRequest { +export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = true): HttpsRequest { const type = opts.headers && opts.headers['Content-Type'] ? (opts.headers['Content-Type'] as string) : 'application/json'; if (type.startsWith('application/json')) { manager.requestSerializer = AFJSONRequestSerializer.serializer(); @@ -358,8 +358,8 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea const progress = opts.onProgress ? (progress: NSProgress) => { - opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); - } + opts.onProgress(progress.completedUnitCount, progress.totalUnitCount); + } : null; let task: NSURLSessionDataTask; const tag = opts.tag; @@ -378,14 +378,14 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea const success = function (task: NSURLSessionDataTask, data?: any) { clearRunningRequest(); // TODO: refactor this code with failure one. - const content = useLegacy ? new HttpsResponse(data, opts.url) : getData(data); + const content = useLegacy ? new HttpsResponseLegacyAndroid(data, opts.url) : getData(data); let getHeaders = () => ({}); - const sendi: Https.HttpsResponse = { + const sendi = ({ content, get headers() { return getHeaders(); }, - }; + } as any) as HttpsResponse; const response = task.response as NSHTTPURLResponse; if (!Utils.isNullOrUndefined(response)) { @@ -420,7 +420,7 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea null, headers, (formData) => { - (opts.body as Https.HttpsFormDataParam[]).forEach((param) => { + (opts.body as HttpsFormDataParam[]).forEach((param) => { if (param.fileName && param.contentType) { if (param.data instanceof NSURL) { formData.appendPartWithFileURLNameFileNameMimeTypeError(param.data, param.parameterName, param.fileName, param.contentType); @@ -474,7 +474,7 @@ export function createRequest(opts: Https.HttpsRequestOptions, useLegacy: boolea }, }; } -export function request(opts: Https.HttpsRequestOptions, useLegacy: boolean = true) { +export function request(opts: HttpsRequestOptions, useLegacy: boolean = true) { return new Promise((resolve, reject) => { try { createRequest(opts, useLegacy).run(resolve, reject); From 7310db1c122d664c8815bce2470447dd759f3de5 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Fri, 25 Feb 2022 14:58:03 +0100 Subject: [PATCH 026/216] v3.4.0 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 11 +++++++++++ plugin/package.json | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8de108d..708be85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.4.0](https://github.com/nativescript-community/https/compare/v3.3.13...v3.4.0) (2022-02-25) + + +### Features + +* refactoring to allow N alias to replace core impl ([22ac92f](https://github.com/nativescript-community/https/commit/22ac92f572c9b2739c40f5a39f47ac67d28a78ee)) + + + + + ## [3.3.13](https://github.com/nativescript-community/https/compare/v3.3.12...v3.3.13) (2022-02-08) diff --git a/lerna.json b/lerna.json index dacba6b..f188ad7 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.3.13", + "version": "3.4.0", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 890bb47..66c9ecf 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.4.0](https://github.com/nativescript-community/https/compare/v3.3.13...v3.4.0) (2022-02-25) + + +### Features + +* refactoring to allow N alias to replace core impl ([22ac92f](https://github.com/nativescript-community/https/commit/22ac92f572c9b2739c40f5a39f47ac67d28a78ee)) + + + + + ## [3.3.13](https://github.com/nativescript-community/https/compare/v3.3.12...v3.3.13) (2022-02-08) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index 24d9dfb..ea171f7 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.3.13", + "version": "3.4.0", "description": "Nativescript plugin for gestures", "main": "index", "sideEffects": false, From 532ae49a0dbe6c9dc4742400051d5ea86646ebbc Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 26 Feb 2022 16:47:45 +0100 Subject: [PATCH 027/216] fix(android): fixed broken build --- src/request.android.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/request.android.ts b/src/request.android.ts index 1a124ec..1bc036b 100644 --- a/src/request.android.ts +++ b/src/request.android.ts @@ -1,7 +1,7 @@ import { File, HttpResponseEncoding, ImageSource, Utils } from '@nativescript/core'; -import { CacheOptions, getFilenameFromUrl, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions, interceptors, networkInterceptors, parseJSON } from '.'; +import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions, getFilenameFromUrl, parseJSON } from '.'; -export { addNetworkInterceptor, addInterceptor } from './request.common'; +export { addNetworkInterceptor, addInterceptor, interceptors, networkInterceptors } from './request.common'; interface Ipeer { enabled: boolean; From bf68b53d24a4b793bc846b5e37de8ee045ada311 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 26 Feb 2022 16:48:39 +0100 Subject: [PATCH 028/216] chore: real fix --- src/request.android.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/request.android.ts b/src/request.android.ts index 1bc036b..73fab41 100644 --- a/src/request.android.ts +++ b/src/request.android.ts @@ -1,7 +1,8 @@ import { File, HttpResponseEncoding, ImageSource, Utils } from '@nativescript/core'; import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions, getFilenameFromUrl, parseJSON } from '.'; -export { addNetworkInterceptor, addInterceptor, interceptors, networkInterceptors } from './request.common'; +import { interceptors, networkInterceptors } from './request.common'; +export { addNetworkInterceptor, addInterceptor } from './request.common'; interface Ipeer { enabled: boolean; From 3e69ea31f9e293c883f7eb535afa7b9dfa08d3c1 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 26 Feb 2022 16:48:58 +0100 Subject: [PATCH 029/216] v3.4.1 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 708be85..4078ce8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.1](https://github.com/nativescript-community/https/compare/v3.4.0...v3.4.1) (2022-02-26) + + +### Bug Fixes + +* **android:** fixed broken build ([532ae49](https://github.com/nativescript-community/https/commit/532ae49a0dbe6c9dc4742400051d5ea86646ebbc)) + + + + + # [3.4.0](https://github.com/nativescript-community/https/compare/v3.3.13...v3.4.0) (2022-02-25) diff --git a/lerna.json b/lerna.json index f188ad7..dbe5f5e 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.4.0", + "version": "3.4.1", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 66c9ecf..953f7e6 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.1](https://github.com/nativescript-community/https/compare/v3.4.0...v3.4.1) (2022-02-26) + +**Note:** Version bump only for package @nativescript-community/https + + + + + # [3.4.0](https://github.com/nativescript-community/https/compare/v3.3.13...v3.4.0) (2022-02-25) diff --git a/plugin/package.json b/plugin/package.json index ea171f7..d6f3bee 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.4.0", + "version": "3.4.1", "description": "Nativescript plugin for gestures", "main": "index", "sideEffects": false, From b35209e98ebd87a196512a84b68b67c79ffb1341 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 26 Feb 2022 16:56:22 +0100 Subject: [PATCH 030/216] =?UTF-8?q?fix:=20completely=20broken=20release=20?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/request.android.ts | 4 ++-- src/request.d.ts | 4 ++++ src/request.ios.ts | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/request.android.ts b/src/request.android.ts index 73fab41..fcb573d 100644 --- a/src/request.android.ts +++ b/src/request.android.ts @@ -1,7 +1,7 @@ import { File, HttpResponseEncoding, ImageSource, Utils } from '@nativescript/core'; -import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions, getFilenameFromUrl, parseJSON } from '.'; +import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions } from '.'; -import { interceptors, networkInterceptors } from './request.common'; +import { getFilenameFromUrl, interceptors, networkInterceptors, parseJSON } from './request.common'; export { addNetworkInterceptor, addInterceptor } from './request.common'; interface Ipeer { diff --git a/src/request.d.ts b/src/request.d.ts index 80f520c..05f21ac 100644 --- a/src/request.d.ts +++ b/src/request.d.ts @@ -26,6 +26,10 @@ export interface HttpsRequestObject { [key: string]: string | number | boolean | HttpsRequestObject | any[] | HttpsFormDataParam; } +export interface Headers { + [k: string]: string; +} + export type CachePolicy = 'noCache' | 'onlyCache' | 'ignoreCache'; export interface HttpsRequestOptions extends HttpRequestOptions { url: string; diff --git a/src/request.ios.ts b/src/request.ios.ts index f3e7767..efdad2b 100644 --- a/src/request.ios.ts +++ b/src/request.ios.ts @@ -1,5 +1,6 @@ import { File, ImageSource, Utils } from '@nativescript/core'; -import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponse, HttpsResponseLegacy, HttpsSSLPinningOptions, getFilenameFromUrl, parseJSON } from '.'; +import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponse, HttpsResponseLegacy, HttpsSSLPinningOptions } from '.'; +import { getFilenameFromUrl, parseJSON } from './request.common'; export { addInterceptor, addNetworkInterceptor } from './request.common'; let cache: NSURLCache; @@ -307,7 +308,7 @@ export function cancelRequest(tag: string) { } export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = true): HttpsRequest { - const type = opts.headers && opts.headers['Content-Type'] ? (opts.headers['Content-Type'] as string) : 'application/json'; + const type = opts.headers && opts.headers['Content-Type'] ? opts.headers['Content-Type'] : 'application/json'; if (type.startsWith('application/json')) { manager.requestSerializer = AFJSONRequestSerializer.serializer(); manager.responseSerializer = AFJSONResponseSerializer.serializerWithReadingOptions(NSJSONReadingOptions.AllowFragments); From b53d201910fc92b25366e29bbeace3949a6f959f Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sat, 26 Feb 2022 18:33:45 +0100 Subject: [PATCH 031/216] v3.4.2 --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- plugin/CHANGELOG.md | 8 ++++++++ plugin/package.json | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4078ce8..5be7b4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.2](https://github.com/nativescript-community/https/compare/v3.4.1...v3.4.2) (2022-02-26) + + +### Bug Fixes + +* completely broken release … ([b35209e](https://github.com/nativescript-community/https/commit/b35209e98ebd87a196512a84b68b67c79ffb1341)) + + + + + ## [3.4.1](https://github.com/nativescript-community/https/compare/v3.4.0...v3.4.1) (2022-02-26) diff --git a/lerna.json b/lerna.json index dbe5f5e..1485893 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.4.1", + "version": "3.4.2", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 953f7e6..9f6074e 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.2](https://github.com/nativescript-community/https/compare/v3.4.1...v3.4.2) (2022-02-26) + +**Note:** Version bump only for package @nativescript-community/https + + + + + ## [3.4.1](https://github.com/nativescript-community/https/compare/v3.4.0...v3.4.1) (2022-02-26) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index d6f3bee..a84128a 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.4.1", + "version": "3.4.2", "description": "Nativescript plugin for gestures", "main": "index", "sideEffects": false, From a2e10170145a8e94e10f407e5fe772cb0d40e12c Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 15:13:28 +0200 Subject: [PATCH 032/216] feat: contentLength --- src/request.android.ts | 17 +++++++++++++---- src/request.d.ts | 2 ++ src/request.ios.ts | 14 +++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/request.android.ts b/src/request.android.ts index fcb573d..e8b68a3 100644 --- a/src/request.android.ts +++ b/src/request.android.ts @@ -1,5 +1,5 @@ import { File, HttpResponseEncoding, ImageSource, Utils } from '@nativescript/core'; -import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponseLegacy, HttpsSSLPinningOptions } from '.'; +import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsSSLPinningOptions, HttpsResponseLegacy as IHttpsResponseLegacy } from '.'; import { getFilenameFromUrl, interceptors, networkInterceptors, parseJSON } from './request.common'; export { addNetworkInterceptor, addInterceptor } from './request.common'; @@ -41,10 +41,13 @@ export function clearCache() { let _timeout = 10; -class HttpsResponseLegacyIOS implements HttpsResponseLegacy { +class HttpsResponseLegacy implements IHttpsResponseLegacy { private callback?: com.nativescript.https.OkHttpResponse.OkHttpResponseAsyncCallback; constructor(private response: com.nativescript.https.OkHttpResponse, private tag: string, private url: string) {} + get contentLength() { + return this.response.contentLength(); + } getOrCreateCloseCallback() { if (!notClosedResponses[this.tag]) { // we need to store handling request to be able to cancel them @@ -440,7 +443,11 @@ export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = tr const MEDIA_TYPE = okhttp3.MediaType.parse(param.contentType); builder.addFormDataPart(param.parameterName, param.fileName, okhttp3.RequestBody.create(MEDIA_TYPE, param.data)); } else { - builder.addFormDataPart(param.parameterName, param.data); + if (typeof param.data === 'string') { + builder.addFormDataPart(param.parameterName, param.data); + } else { + builder.addFormDataPart(param.parameterName, param.data + ''); + } } }); okHttpBody = builder.build(); @@ -520,7 +527,8 @@ export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = tr resolve({ response, - content: new HttpsResponseLegacyIOS(nResponse, tag, opts.url), + content: new HttpsResponseLegacy(nResponse, tag, opts.url), + contentLength: nResponse.contentLength(), statusCode, reason: message, get headers() { @@ -531,6 +539,7 @@ export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = tr resolve({ response, content: responseBody.string(), + contentLength: responseBody.contentLength(), reason: message, statusCode, get headers() { diff --git a/src/request.d.ts b/src/request.d.ts index 05f21ac..5af543b 100644 --- a/src/request.d.ts +++ b/src/request.d.ts @@ -62,6 +62,7 @@ export interface HttpsRequestOptions extends HttpRequestOptions { export interface HttpsResponse { headers?: Headers; statusCode?: number; + contentLength: number; content?: T; reason?: string; description?: string; @@ -76,6 +77,7 @@ export interface HttpsRequest { } export interface HttpsResponseLegacy { + contentLength: number; toArrayBuffer(): ArrayBuffer; toArrayBufferAsync(): Promise; diff --git a/src/request.ios.ts b/src/request.ios.ts index efdad2b..26b1f66 100644 --- a/src/request.ios.ts +++ b/src/request.ios.ts @@ -1,5 +1,5 @@ import { File, ImageSource, Utils } from '@nativescript/core'; -import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponse, HttpsResponseLegacy, HttpsSSLPinningOptions } from '.'; +import { CacheOptions, HttpsFormDataParam, HttpsRequest, HttpsRequestOptions, HttpsResponse, HttpsSSLPinningOptions, HttpsResponseLegacy as IHttpsResponseLegacy } from '.'; import { getFilenameFromUrl, parseJSON } from './request.common'; export { addInterceptor, addNetworkInterceptor } from './request.common'; @@ -90,9 +90,9 @@ function getData(data) { return content; } -class HttpsResponseLegacyAndroid implements HttpsResponseLegacy { +class HttpsResponseLegacy implements IHttpsResponseLegacy { // private callback?: com.nativescript.https.OkhttpResponse.OkHttpResponseAsyncCallback; - constructor(private data: NSDictionary & NSData & NSArray, private url: string) {} + constructor(private data: NSDictionary & NSData & NSArray, public contentLength, private url: string) {} toArrayBufferAsync(): Promise { throw new Error('Method not implemented.'); } @@ -230,6 +230,7 @@ function AFFailure(resolve, reject, task: NSURLSessionDataTask, error: NSError, let getHeaders = () => ({}); const sendi = ({ task, + contentLength: task.countOfBytesReceived, reason: error.localizedDescription, get headers() { return getHeaders(); @@ -265,11 +266,12 @@ function AFFailure(resolve, reject, task: NSURLSessionDataTask, error: NSError, failure.description = '@nativescript-community/https > Invalid SSL certificate! ' + error.description; } sendi.failure = failure; - sendi.content = new HttpsResponseLegacyAndroid(data, url); + sendi.content = new HttpsResponseLegacy(data, sendi.contentLength, url); resolve(sendi); } else { const content: any = { body: parsedData, + contentLength: sendi.contentLength, description: error.description, reason: error.localizedDescription, url: failingURL ? failingURL.description : url, @@ -379,10 +381,12 @@ export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = tr const success = function (task: NSURLSessionDataTask, data?: any) { clearRunningRequest(); // TODO: refactor this code with failure one. - const content = useLegacy ? new HttpsResponseLegacyAndroid(data, opts.url) : getData(data); + const contentLength = task.countOfBytesReceived; + const content = useLegacy ? new HttpsResponseLegacy(data, contentLength, opts.url) : getData(data); let getHeaders = () => ({}); const sendi = ({ content, + contentLength, get headers() { return getHeaders(); }, From bc3c7d24160038f48e487918ee8abcf5d24f0322 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 15:13:40 +0200 Subject: [PATCH 033/216] fix(android): native-api-usage fix --- plugin/platforms/android/native-api-usage.json | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/platforms/android/native-api-usage.json b/plugin/platforms/android/native-api-usage.json index 1e40deb..9fe538a 100644 --- a/plugin/platforms/android/native-api-usage.json +++ b/plugin/platforms/android/native-api-usage.json @@ -38,6 +38,7 @@ "javax.net.ssl:TrustManagerFactory*", "javax.net.ssl:SSLContext*", "javax.net.ssl:HttpsURLConnection*", + "java.net:UnknownHostException*", "java.util.concurrent:TimeUnit*", "org.conscrypt:Conscrypt*" ] From 655eb366b06513bea06aafea9a872704b5a38a6e Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 15:25:32 +0200 Subject: [PATCH 034/216] chore: v3.4.3 --- CHANGELOG.md | 16 ++++++++++++++++ lerna.json | 2 +- package.json | 3 ++- plugin/CHANGELOG.md | 11 +++++++++++ plugin/package.json | 2 +- 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5be7b4f..75facbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.3](https://github.com/nativescript-community/https/compare/v3.4.2...v3.4.3) (2022-04-25) + + +### Bug Fixes + +* **android:** native-api-usage fix ([bc3c7d2](https://github.com/nativescript-community/https/commit/bc3c7d24160038f48e487918ee8abcf5d24f0322)) + + +### Features + +* contentLength ([a2e1017](https://github.com/nativescript-community/https/commit/a2e10170145a8e94e10f407e5fe772cb0d40e12c)) + + + + + ## [3.4.2](https://github.com/nativescript-community/https/compare/v3.4.1...v3.4.2) (2022-02-26) diff --git a/lerna.json b/lerna.json index 1485893..4bc84e4 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.4.2", + "version": "3.4.3", "command": { "publish": { "conventionalCommits": true diff --git a/package.json b/package.json index 3bab15f..ffde412 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,8 @@ "devDependencies": { "@commitlint/cli": "^9.1.2", "@commitlint/config-conventional": "^9.1.2", + "@lerna-lite/cli": "^1.0.5", + "@lerna-lite/run": "^1.0.5", "@nativescript-community/observable": "^2.0.8", "@nativescript/core": "7.0.0", "@nativescript/types-android": "7.0.2", @@ -69,7 +71,6 @@ "eslint-config-prettier": "^6.13.0", "eslint-plugin-prettier": "^3.1.4", "husky": "^4.2.5", - "lerna": "^3.22.1", "npm-watch": "^0.7.0", "prettier": "^2.1.2", "prompt": "^1.0.0", diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 9f6074e..50b1e7b 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.3](https://github.com/nativescript-community/https/compare/v3.4.2...v3.4.3) (2022-04-25) + + +### Bug Fixes + +* **android:** native-api-usage fix ([bc3c7d2](https://github.com/nativescript-community/https/commit/bc3c7d24160038f48e487918ee8abcf5d24f0322)) + + + + + ## [3.4.2](https://github.com/nativescript-community/https/compare/v3.4.1...v3.4.2) (2022-02-26) **Note:** Version bump only for package @nativescript-community/https diff --git a/plugin/package.json b/plugin/package.json index a84128a..d63a35c 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.4.2", + "version": "3.4.3", "description": "Nativescript plugin for gestures", "main": "index", "sideEffects": false, From cb830a8cad414133bcdff4a14c986cb8899984e6 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 17:02:50 +0200 Subject: [PATCH 035/216] fix(android): dont try/catch sync methods to prevent missed errors --- src/request.android.ts | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/request.android.ts b/src/request.android.ts index e8b68a3..dbdeb41 100644 --- a/src/request.android.ts +++ b/src/request.android.ts @@ -105,13 +105,9 @@ class HttpsResponseLegacy implements IHttpsResponseLegacy { // cache it because asking it again wont work as the socket is closed stringResponse: string; toString() { - try { - // TODO: handle arraybuffer already stored - this.stringResponse = this.stringResponse || this.response.asString(); - return this.stringResponse; - } catch { - return null; - } + // TODO: handle arraybuffer already stored + this.stringResponse = this.stringResponse || this.response.asString(); + return this.stringResponse; } async toStringAsync(): Promise { if (this.stringResponse) { @@ -128,18 +124,13 @@ class HttpsResponseLegacy implements IHttpsResponseLegacy { // cache it because asking it again wont work as the socket is closed jsonResponse: any; toJSON(encoding?: HttpResponseEncoding) { - try { - if (this.jsonResponse !== undefined) { - return this.jsonResponse; - } - // TODO: handle arraybuffer already stored - this.stringResponse = this.stringResponse || this.response.asString(); - this.jsonResponse = this.stringResponse ? parseJSON(this.stringResponse) : null; + if (this.jsonResponse !== undefined) { return this.jsonResponse; - } catch (err) { - console.error('HttpsResponse.toJSON', err); - return null; } + // TODO: handle arraybuffer already stored + this.stringResponse = this.stringResponse || this.response.asString(); + this.jsonResponse = this.stringResponse ? parseJSON(this.stringResponse) : null; + return this.jsonResponse; } async toJSONAsync() { From eb0b61ea8ba53055538d5460abf0474a22ba3282 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 17:04:55 +0200 Subject: [PATCH 036/216] fix(android): upgrade okhttp to max 3.x --- plugin/platforms/android/include.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/platforms/android/include.gradle b/plugin/platforms/android/include.gradle index 6ab5dee..e3e9240 100644 --- a/plugin/platforms/android/include.gradle +++ b/plugin/platforms/android/include.gradle @@ -1,5 +1,5 @@ dependencies { - def okHttpVersion = project.hasProperty("okHttpVersion") ? project.okHttpVersion : "3.14.7" + def okHttpVersion = project.hasProperty("okHttpVersion") ? project.okHttpVersion : "3.14.9" implementation "com.squareup.okhttp3:okhttp:$okHttpVersion" // def conscryptVersion = project.hasProperty("conscryptVersion") ? project.conscryptVersion : "2.4.0" // implementation "org.conscrypt:conscrypt-android:$conscryptVersion" From 78be19930bc8c869efde7ff36b2330551ab557eb Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 17:05:36 +0200 Subject: [PATCH 037/216] v3.4.4 --- CHANGELOG.md | 139 +++----------------------------------------- lerna.json | 2 +- plugin/CHANGELOG.md | 114 ++---------------------------------- plugin/package.json | 2 +- 4 files changed, 14 insertions(+), 243 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75facbd..96c27d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,278 +3,164 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.4.3](https://github.com/nativescript-community/https/compare/v3.4.2...v3.4.3) (2022-04-25) +## [3.4.4](https://github.com/nativescript-community/https/compare/v3.4.3...v3.4.4) (2022-04-25) + +### Bug Fixes +* **android:** dont try/catch sync methods to prevent missed errors ([cb830a8](https://github.com/nativescript-community/https/commit/cb830a8cad414133bcdff4a14c986cb8899984e6)) +* **android:** upgrade okhttp to max 3.x ([eb0b61e](https://github.com/nativescript-community/https/commit/eb0b61ea8ba53055538d5460abf0474a22ba3282)) + +## [3.4.3](https://github.com/nativescript-community/https/compare/v3.4.2...v3.4.3) (2022-04-25) ### Bug Fixes * **android:** native-api-usage fix ([bc3c7d2](https://github.com/nativescript-community/https/commit/bc3c7d24160038f48e487918ee8abcf5d24f0322)) - ### Features * contentLength ([a2e1017](https://github.com/nativescript-community/https/commit/a2e10170145a8e94e10f407e5fe772cb0d40e12c)) - - - - ## [3.4.2](https://github.com/nativescript-community/https/compare/v3.4.1...v3.4.2) (2022-02-26) - ### Bug Fixes * completely broken release … ([b35209e](https://github.com/nativescript-community/https/commit/b35209e98ebd87a196512a84b68b67c79ffb1341)) - - - - ## [3.4.1](https://github.com/nativescript-community/https/compare/v3.4.0...v3.4.1) (2022-02-26) - ### Bug Fixes * **android:** fixed broken build ([532ae49](https://github.com/nativescript-community/https/commit/532ae49a0dbe6c9dc4742400051d5ea86646ebbc)) - - - - # [3.4.0](https://github.com/nativescript-community/https/compare/v3.3.13...v3.4.0) (2022-02-25) - ### Features * refactoring to allow N alias to replace core impl ([22ac92f](https://github.com/nativescript-community/https/commit/22ac92f572c9b2739c40f5a39f47ac67d28a78ee)) - - - - ## [3.3.13](https://github.com/nativescript-community/https/compare/v3.3.12...v3.3.13) (2022-02-08) - ### Bug Fixes * **ios:** fix form data passed as a string ([d234842](https://github.com/nativescript-community/https/commit/d234842c5a29b8a360aae6c91dce80821630eea1)) - - - - ## [3.3.12](https://github.com/nativescript-community/https/compare/v3.3.11...v3.3.12) (2022-01-20) - ### Bug Fixes * **android:** progress support for uploading ([67817ac](https://github.com/nativescript-community/https/commit/67817ac284f8da424829b0c400b5c2c788ccf9dc)) - - - - ## [3.3.11](https://github.com/nativescript-community/https/compare/v3.3.10...v3.3.11) (2022-01-20) - ### Bug Fixes * **android:** native-api-usage fix ([06dc376](https://github.com/nativescript-community/https/commit/06dc376b01683675ef2a90135396ec5a9f1cf60a)) - - - - ## [3.3.10](https://github.com/nativescript-community/https/compare/v3.3.9...v3.3.10) (2022-01-19) - ### Bug Fixes * typings fix ([3490469](https://github.com/nativescript-community/https/commit/3490469cdc019265ec321ff9db37b94100f94b49)) - - - - ## [3.3.9](https://github.com/nativescript-community/https/compare/v3.3.8...v3.3.9) (2022-01-18) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.8](https://github.com/farfromrefug/nativescript-https/compare/v3.3.7...v3.3.8) (2022-01-18) - ### Bug Fixes * **android:** `cancelRequest` fix ([c7b8c93](https://github.com/farfromrefug/nativescript-https/commit/c7b8c935a6b02dc4f9e5c20c6911b2e59db8fa64)) - - - - ## [3.3.7](https://github.com/farfromrefug/nativescript-https/compare/v3.3.6...v3.3.7) (2022-01-15) - ### Bug Fixes * **android:** `cancelRequest` not exported ([9727802](https://github.com/farfromrefug/nativescript-https/commit/972780279a291d3f95636601450198a78d935696)) - - - - ## [3.3.6](https://github.com/farfromrefug/nativescript-https/compare/v3.3.5...v3.3.6) (2022-01-15) - ### Features * added method `cancelRequest`. You need to set the `tag` in request options first ([bace983](https://github.com/farfromrefug/nativescript-https/commit/bace9832d9ab07b158068eca3104a24f4c494851)) - - - - ## [3.3.5](https://github.com/farfromrefug/nativescript-https/compare/v3.3.4...v3.3.5) (2022-01-14) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.4](https://github.com/farfromrefug/nativescript-https/compare/v3.3.3...v3.3.4) (2022-01-14) - ### Bug Fixes * **android:** missing native-api-usage ([0d6d67b](https://github.com/farfromrefug/nativescript-https/commit/0d6d67b223e52d5e3d80b4513f2ee6d591495e4f)) * missing export of `addNetworkInterceptor`, `addInterceptor` ([2b503c4](https://github.com/farfromrefug/nativescript-https/commit/2b503c42d43cde3f82d994346948e20bbf91fc57)) - - - - ## [3.3.3](https://github.com/farfromrefug/nativescript-https/compare/v3.3.2...v3.3.3) (2021-12-23) - ### Bug Fixes * android allow interceptors ([49073c5](https://github.com/farfromrefug/nativescript-https/commit/49073c5c4e1ab1370da4260ebc833705eaabb2b3)) - - - - ## [3.3.2](https://github.com/farfromrefug/nativescript-https/compare/v3.3.1...v3.3.2) (2021-10-21) - ### Bug Fixes * **android:** native-api-usage fix ([6f8748d](https://github.com/farfromrefug/nativescript-https/commit/6f8748da0323eb2520dbb5024301deb136bd5baa)) - - - - ## [3.3.1](https://github.com/farfromrefug/nativescript-https/compare/v3.3.0...v3.3.1) (2021-10-18) - ### Bug Fixes * **android:** native-api-usage fix ([e18a203](https://github.com/farfromrefug/nativescript-https/commit/e18a2039464d488f3e370dd7feaf6ed61e4938e6)) - - - - # [3.3.0](https://github.com/farfromrefug/nativescript-https/compare/v3.2.2...v3.3.0) (2021-10-17) - ### Bug Fixes * **android:** Conscrypt not included by default anymore. You need to add it in your app ([c16f34d](https://github.com/farfromrefug/nativescript-https/commit/c16f34d1b2f3fa226760ab00b17e56f6996dff96)) - ### Features * **android:** native-api-usage ([9415f38](https://github.com/farfromrefug/nativescript-https/commit/9415f387b929b01c7fe385ff5d42e1bbd15ae2e4)) - - - - ## [3.2.2](https://github.com/farfromrefug/nativescript-https/compare/v3.2.1...v3.2.2) (2021-07-21) - ### Bug Fixes * **android:** prevent error when no cache-control ([e3d781e](https://github.com/farfromrefug/nativescript-https/commit/e3d781ed3a2d7364d3179d6a5acc39b5b9b65e29)) - - - - ## [3.2.1](https://github.com/farfromrefug/nativescript-https/compare/v3.2.0...v3.2.1) (2021-07-01) - ### Bug Fixes * **android:** support for application/x-www-form-urlencoded ([fb8db51](https://github.com/farfromrefug/nativescript-https/commit/fb8db514916dd1c29baa40016fc5302c64a79a41)) - - - - # [3.2.0](https://github.com/farfromrefug/nativescript-https/compare/v3.1.3...v3.2.0) (2021-03-14) - ### Features * **android:** forceCache option ([cc225be](https://github.com/farfromrefug/nativescript-https/commit/cc225bea37e0035288533106e48a469e11d15d01)) - - - - ## [3.1.3](https://github.com/farfromrefug/nativescript-https/compare/v3.1.2...v3.1.3) (2021-03-12) - ### Bug Fixes * **android:** correctly use timeout option ([9a1e5be](https://github.com/farfromrefug/nativescript-https/commit/9a1e5be39f70453653d8cbc38c66ddf6843754ce)) - - - - ## [3.1.2](https://github.com/farfromrefug/nativescript-https/compare/v3.1.1...v3.1.2) (2020-12-09) - ### Bug Fixes * ios crash with cache on < 13 ([e021b8d](https://github.com/farfromrefug/nativescript-https/commit/e021b8d9c847f5ba545cc6fc52e6271780dd4e7f)) - - - - ## [3.1.1](https://github.com/farfromrefug/nativescript-https/compare/v3.1.0...v3.1.1) (2020-11-26) - ### Bug Fixes * correctly handle null responses from requests ([6b70be6](https://github.com/farfromrefug/nativescript-https/commit/6b70be64eb44a7e3da1705f025128bd9fabe6d2a)) - - - - # 3.1.0 (2020-10-29) - ### Bug Fixes * ios throw error like android (useLegacy) ([ff86cdc](https://github.com/farfromrefug/nativescript-https/commit/ff86cdc7060e9f692ce515362327adbbbf424d15)) @@ -297,7 +183,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline * useLegacy should be a request option ([74f1afa](https://github.com/farfromrefug/nativescript-https/commit/74f1afabfeb051c08b89050b17771356381bd03c)) * **ios:** multipart fix ([0d9d331](https://github.com/farfromrefug/nativescript-https/commit/0d9d331ff49cedd06ed0d07cd25a4b50181a23a5)) - ### Features * basick cookie support ([91fe3c7](https://github.com/farfromrefug/nativescript-https/commit/91fe3c7d6b8fd7f4198845bd9f88324ccb384704)) @@ -306,22 +191,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline * move to @nativescript-community/https ([5c8d5c8](https://github.com/farfromrefug/nativescript-https/commit/5c8d5c8c4e5e7d50a0312cf978638b6068398025)) * multi formdata support ([c1dff6d](https://github.com/farfromrefug/nativescript-https/commit/c1dff6d27bcad54fb4f7aa03180a73696fc17ce2)) - - # 2.1.0 (2020-04-07) - - # 2.0.0 (2020-03-30) - - # 1.3.0 (2020-02-13) - - ## 1.2.2 (2019-10-16) - - # 1.2.0 (2019-10-06) diff --git a/lerna.json b/lerna.json index 4bc84e4..1d9f320 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "plugin" ], - "version": "3.4.3", + "version": "3.4.4", "command": { "publish": { "conventionalCommits": true diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index 50b1e7b..22e9c85 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -3,242 +3,138 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.4.3](https://github.com/nativescript-community/https/compare/v3.4.2...v3.4.3) (2022-04-25) - +## [3.4.4](https://github.com/nativescript-community/https/compare/v3.4.3...v3.4.4) (2022-04-25) ### Bug Fixes -* **android:** native-api-usage fix ([bc3c7d2](https://github.com/nativescript-community/https/commit/bc3c7d24160038f48e487918ee8abcf5d24f0322)) - +* **android:** upgrade okhttp to max 3.x ([eb0b61e](https://github.com/nativescript-community/https/commit/eb0b61ea8ba53055538d5460abf0474a22ba3282)) +## [3.4.3](https://github.com/nativescript-community/https/compare/v3.4.2...v3.4.3) (2022-04-25) +### Bug Fixes +* **android:** native-api-usage fix ([bc3c7d2](https://github.com/nativescript-community/https/commit/bc3c7d24160038f48e487918ee8abcf5d24f0322)) ## [3.4.2](https://github.com/nativescript-community/https/compare/v3.4.1...v3.4.2) (2022-02-26) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.4.1](https://github.com/nativescript-community/https/compare/v3.4.0...v3.4.1) (2022-02-26) **Note:** Version bump only for package @nativescript-community/https - - - - # [3.4.0](https://github.com/nativescript-community/https/compare/v3.3.13...v3.4.0) (2022-02-25) - ### Features * refactoring to allow N alias to replace core impl ([22ac92f](https://github.com/nativescript-community/https/commit/22ac92f572c9b2739c40f5a39f47ac67d28a78ee)) - - - - ## [3.3.13](https://github.com/nativescript-community/https/compare/v3.3.12...v3.3.13) (2022-02-08) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.12](https://github.com/nativescript-community/https/compare/v3.3.11...v3.3.12) (2022-01-20) - ### Bug Fixes * **android:** progress support for uploading ([67817ac](https://github.com/nativescript-community/https/commit/67817ac284f8da424829b0c400b5c2c788ccf9dc)) - - - - ## [3.3.11](https://github.com/nativescript-community/https/compare/v3.3.10...v3.3.11) (2022-01-20) - ### Bug Fixes * **android:** native-api-usage fix ([06dc376](https://github.com/nativescript-community/https/commit/06dc376b01683675ef2a90135396ec5a9f1cf60a)) - - - - ## [3.3.10](https://github.com/nativescript-community/https/compare/v3.3.9...v3.3.10) (2022-01-19) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.9](https://github.com/nativescript-community/https/compare/v3.3.8...v3.3.9) (2022-01-18) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.8](https://github.com/farfromrefug/nativescript-https/compare/v3.3.7...v3.3.8) (2022-01-18) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.7](https://github.com/farfromrefug/nativescript-https/compare/v3.3.6...v3.3.7) (2022-01-15) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.6](https://github.com/farfromrefug/nativescript-https/compare/v3.3.5...v3.3.6) (2022-01-15) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.5](https://github.com/farfromrefug/nativescript-https/compare/v3.3.4...v3.3.5) (2022-01-14) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.4](https://github.com/farfromrefug/nativescript-https/compare/v3.3.3...v3.3.4) (2022-01-14) - ### Bug Fixes * **android:** missing native-api-usage ([0d6d67b](https://github.com/farfromrefug/nativescript-https/commit/0d6d67b223e52d5e3d80b4513f2ee6d591495e4f)) - - - - ## [3.3.3](https://github.com/farfromrefug/nativescript-https/compare/v3.3.2...v3.3.3) (2021-12-23) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.3.2](https://github.com/farfromrefug/nativescript-https/compare/v3.3.1...v3.3.2) (2021-10-21) - ### Bug Fixes * **android:** native-api-usage fix ([6f8748d](https://github.com/farfromrefug/nativescript-https/commit/6f8748da0323eb2520dbb5024301deb136bd5baa)) - - - - ## [3.3.1](https://github.com/farfromrefug/nativescript-https/compare/v3.3.0...v3.3.1) (2021-10-18) - ### Bug Fixes * **android:** native-api-usage fix ([e18a203](https://github.com/farfromrefug/nativescript-https/commit/e18a2039464d488f3e370dd7feaf6ed61e4938e6)) - - - - # [3.3.0](https://github.com/farfromrefug/nativescript-https/compare/v3.2.2...v3.3.0) (2021-10-17) - ### Bug Fixes * **android:** Conscrypt not included by default anymore. You need to add it in your app ([c16f34d](https://github.com/farfromrefug/nativescript-https/commit/c16f34d1b2f3fa226760ab00b17e56f6996dff96)) - ### Features * **android:** native-api-usage ([9415f38](https://github.com/farfromrefug/nativescript-https/commit/9415f387b929b01c7fe385ff5d42e1bbd15ae2e4)) - - - - ## [3.2.2](https://github.com/farfromrefug/nativescript-https/compare/v3.2.1...v3.2.2) (2021-07-21) - ### Bug Fixes * **android:** prevent error when no cache-control ([e3d781e](https://github.com/farfromrefug/nativescript-https/commit/e3d781ed3a2d7364d3179d6a5acc39b5b9b65e29)) - - - - ## [3.2.1](https://github.com/farfromrefug/nativescript-https/compare/v3.2.0...v3.2.1) (2021-07-01) **Note:** Version bump only for package @nativescript-community/https - - - - # [3.2.0](https://github.com/farfromrefug/nativescript-https/compare/v3.1.3...v3.2.0) (2021-03-14) - ### Features * **android:** forceCache option ([cc225be](https://github.com/farfromrefug/nativescript-https/commit/cc225bea37e0035288533106e48a469e11d15d01)) - - - - ## [3.1.3](https://github.com/farfromrefug/nativescript-https/compare/v3.1.2...v3.1.3) (2021-03-12) **Note:** Version bump only for package @nativescript-community/https - - - - ## [3.1.2](https://github.com/farfromrefug/nativescript-https/compare/v3.1.1...v3.1.2) (2020-12-09) - ### Bug Fixes * ios crash with cache on < 13 ([e021b8d](https://github.com/farfromrefug/nativescript-https/commit/e021b8d9c847f5ba545cc6fc52e6271780dd4e7f)) - - - - ## [3.1.1](https://github.com/farfromrefug/nativescript-https/compare/v3.1.0...v3.1.1) (2020-11-26) - ### Bug Fixes * correctly handle null responses from requests ([6b70be6](https://github.com/farfromrefug/nativescript-https/commit/6b70be64eb44a7e3da1705f025128bd9fabe6d2a)) - - - - # 3.1.0 (2020-10-29) - ### Features * move to @nativescript-community/https ([5c8d5c8](https://github.com/farfromrefug/nativescript-https/commit/5c8d5c8c4e5e7d50a0312cf978638b6068398025)) diff --git a/plugin/package.json b/plugin/package.json index d63a35c..c5a8631 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript-community/https", - "version": "3.4.3", + "version": "3.4.4", "description": "Nativescript plugin for gestures", "main": "index", "sideEffects": false, From bb724277726dd30c6376ede9c5c8bcd889bcbc7c Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 17:08:53 +0200 Subject: [PATCH 038/216] feat(android)!: okhttp 4.x. minSDKVersion changed to 21 --- README.md | 47 +- plugin/platforms/android/include.gradle | 2 +- .../nativescript/https/CacheInterceptor.java | 9 +- .../nativescript/https/OkHttpResponse.java | 141 +- .../https/QuotePreservingCookieJar.java | 66 +- src/request.android.ts | 99 +- src/typings/android.d.ts | 7 +- src/typings/okhttp3.d.ts | 7981 +++++++++++------ 8 files changed, 5606 insertions(+), 2746 deletions(-) diff --git a/README.md b/README.md index 5df82d4..d4c059d 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,14 @@ # @nativescript-community/https -[![NPM version][npm-image]][npm-url] -[![Downloads][downloads-image]][npm-url] -[![TotalDownloads][total-downloads-image]][npm-url] -[![Twitter Follow][twitter-image]][twitter-url] - -[build-status]: https://travis-ci.org/nativescript-community/https.svg?branch=master -[build-url]: https://travis-ci.org/nativescript-community/https -[npm-image]: http://img.shields.io/npm/v/@nativescript-community/https.svg -[npm-url]: https://npmjs.org/package/@nativescript-community/https -[downloads-image]: http://img.shields.io/npm/dm/@nativescript-community/https.svg -[total-downloads-image]: http://img.shields.io/npm/dt/@nativescript-community/https.svg?label=total%20downloads -[twitter-image]: https://img.shields.io/twitter/follow/eddyverbruggen.svg?style=social&label=Follow%20me -[twitter-url]: https://twitter.com/eddyverbruggen - ### The definitive way to hit HTTP based APIs in Nativescript. Easily integrate the most reliable native networking libraries with the latest and greatest HTTPS security features. +> Android: version 4.x using okhttp 4.x changing minSDKVersion to 21! If lower needed stick to 3.x + > Plugin version 2.0.0 bumps `AFNetworking` on iOS to [4.0.0](https://github.com/AFNetworking/AFNetworking/releases/tag/4.0.0) which no longer relies on `UIWebView`. Make sure to run `pod repo update` to get the latest `AFNetworking` pod on your development machine. -#### A drop-in replacement for the [default http module](https://docs.nativescript.org/cookbook/http#get-response-status-code). +#### A drop-in replacement for the [default http module](https://docs.nativescript.org/cookbook/http). ## Features @@ -44,29 +32,9 @@ Easily integrate the most reliable native networking libraries with the latest a **No.** This plugin works out of the box without any security configurations needed. Either way you'll still benefit from all the features listed above. -## Demo - -```shell -git clone https://github.com/nativescript-community/https -cd https -npm run demo.ios -npm run demo.android -``` ## Installation -#### Add `tns-platform-declarations` for Android and iOS to your `references.d.ts`! - -```typescript -/// -/// -``` - -We also recommend adding `"skipLibCheck": true,` to your `tsconfig.json`. -More information on that can be found [here](https://github.com/NativeScript/NativeScript/tree/master/tns-platform-declarations). - -Install the plugin: - ```bash tns plugin add @nativescript-community/https ``` @@ -227,3 +195,12 @@ then pass the option `allowLargeResponse` with value `true` to the `request` fun | [Robert Laverty](https://github.com/roblav96) | For creating and maintaining this plugin for a long time, before transfering it to me, with the help of Jeff Whelpley of [GetHuman](https://github.com/gethuman). | | [AFNetworking](https://github.com/AFNetworking) | [AFNetworking](https://github.com/AFNetworking/AFNetworking) A delightful networking framework for iOS, OS X, watchOS, and tvOS. | | [Square](http://square.github.io/) | [okhttp](https://github.com/square/okhttp) An HTTP+HTTP/2 client for Android and Java applications. | + +## Demo + +```shell +git clone https://github.com/nativescript-community/https +cd https +npm run demo.ios +npm run demo.android +``` \ No newline at end of file diff --git a/plugin/platforms/android/include.gradle b/plugin/platforms/android/include.gradle index e3e9240..201e2a5 100644 --- a/plugin/platforms/android/include.gradle +++ b/plugin/platforms/android/include.gradle @@ -1,5 +1,5 @@ dependencies { - def okHttpVersion = project.hasProperty("okHttpVersion") ? project.okHttpVersion : "3.14.9" + def okHttpVersion = project.hasProperty("okHttpVersion") ? project.okHttpVersion : "4.9.3" implementation "com.squareup.okhttp3:okhttp:$okHttpVersion" // def conscryptVersion = project.hasProperty("conscryptVersion") ? project.conscryptVersion : "2.4.0" // implementation "org.conscrypt:conscrypt-android:$conscryptVersion" diff --git a/plugin/platforms/android/java/com/nativescript/https/CacheInterceptor.java b/plugin/platforms/android/java/com/nativescript/https/CacheInterceptor.java index 5d05571..c0e3800 100644 --- a/plugin/platforms/android/java/com/nativescript/https/CacheInterceptor.java +++ b/plugin/platforms/android/java/com/nativescript/https/CacheInterceptor.java @@ -4,10 +4,9 @@ import okhttp3.Response; import java.io.IOException; -public class CacheInterceptor implements Interceptor { - final String TAG = "CacheInterceptor"; - public Response intercept(Interceptor.Chain chain ) throws IOException { +public class CacheInterceptor { + public static final Interceptor INTERCEPTOR = chain -> { Request originalRequest = chain.request(); String cacheControlHeader = originalRequest.header("Cache-Control"); Response originalResponse = chain.proceed(originalRequest); @@ -16,7 +15,5 @@ public Response intercept(Interceptor.Chain chain ) throws IOException { } else { return originalResponse; } - } - - + }; } \ No newline at end of file diff --git a/plugin/platforms/android/java/com/nativescript/https/OkHttpResponse.java b/plugin/platforms/android/java/com/nativescript/https/OkHttpResponse.java index 7da7bf5..4fe69be 100644 --- a/plugin/platforms/android/java/com/nativescript/https/OkHttpResponse.java +++ b/plugin/platforms/android/java/com/nativescript/https/OkHttpResponse.java @@ -12,8 +12,11 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Handler; +import android.os.Looper; +import android.util.Log; import okhttp3.ResponseBody; +import okhttp3.Response; public class OkHttpResponse { private final static String TAG = "OkHttpResponse"; @@ -43,6 +46,53 @@ public static interface OkHttpResponseProgressCallback { public static interface OkHttpResponseCloseCallback { void onClose(); } + private static class NotifyRunnable implements Runnable { + private final Runnable mRunnable; + private final Handler mHandler; + private boolean mFinished = false; + + public NotifyRunnable(final Handler handler, final Runnable r) { + mRunnable = r; + mHandler = handler; + } + + public boolean isFinished() { + return mFinished; + } + + @Override + public void run() { + synchronized (mHandler) { + Log.d("JS", "NotifyRunnable run"); + mRunnable.run(); + mFinished = true; + mHandler.notifyAll(); + } + } + } + + public static void postAndWait(final Handler handler, final Runnable r) { + + if (handler.getLooper() == Looper.myLooper()) { + r.run(); + } else { + synchronized (handler) { + Log.d("JS", "postAndWait1"); + NotifyRunnable runnable = new NotifyRunnable(handler, r); + handler.post(runnable); + Log.d("JS", "postAndWait2"); + while (!runnable.isFinished()) { + Log.d("JS", "postAndWait3"); + try { + handler.wait(); + } catch (InterruptedException is) { + Log.d("JS", "postAndWait4", is); + // ignore + } + } + } + } + } public OkHttpResponse(ResponseBody body) { responseBody = body; @@ -57,16 +107,20 @@ public long contentLength() { return responseBody.contentLength(); } + private static Handler getMainHandler() { + if (mainHandler == null) { + mainHandler = new Handler(android.os.Looper.getMainLooper()); + } + return mainHandler; + } + static void runProgressCallback(final OkHttpResponseProgressCallback progressCallback, final long current, final long total) { if (progressCallback == null) { return; } if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { progressCallback.onProgress(current, total); @@ -82,10 +136,8 @@ static void runCloseCallback(final OkHttpResponseCloseCallback closeCallback) { return; } if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + + getMainHandler().post(new Runnable() { @Override public void run() { closeCallback.onClose(); @@ -213,10 +265,7 @@ public void run() { // Log.d(TAG, "toFileAsync run "); final File result = responseBodyToFile(filePath, fme, progressCallback); if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onFile(result); @@ -227,10 +276,7 @@ public void run() { } } catch (final Exception exc) { if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onException(exc); @@ -268,10 +314,7 @@ public void run() { try { final Bitmap result = responseBodyToBitmap(fme, progressCallback); if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onBitmap(result); @@ -282,10 +325,7 @@ public void run() { } } catch (final Exception exc) { if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onException(exc); @@ -319,10 +359,7 @@ public void run() { try { final java.nio.ByteBuffer result = responseBodyToByteArray(fme); if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onByteArray(result); @@ -333,10 +370,7 @@ public void run() { } } catch (final Exception exc) { if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onException(exc); @@ -359,7 +393,31 @@ static String responseBodyToString(OkHttpResponse response) throws IOException { } public String asString() throws IOException { - return responseBodyToString(this); + // if (getMainHandler().getLooper() != Looper.myLooper()) { + // try { + return responseBodyToString(this); + // } catch (final Exception ex) { + // Log.d("JS", "RuntimeException " + ex); + // return null; + // } + // } + // final Object[] arr = new Object[1]; + // Log.d("JS", "test asString"); + // postAndWait(getMainHandler(), new Runnable() { + // @Override + // public void run() { + // Log.d("JS", "test asString runnable"); + // try { + // arr[1] = responseBodyToString(OkHttpResponse.this); + // Log.d("JS", "test asString runnable result " + (String)arr[1]); + // } catch (final Exception ex) { + // Log.d("JS", "RuntimeException " + ex); + // // throw new RuntimeException(ex); + // } + // } + // }); + // Log.d("JS", "test asString result " + (String)arr[1]); + // return (String)arr[1]; } public void asStringAsync(final OkHttpResponseAsyncCallback callback) { @@ -370,10 +428,7 @@ public void run() { try { final String result = responseBodyToString(fme); if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onString(result); @@ -384,10 +439,7 @@ public void run() { } } catch (final Exception exc) { if (RUN_ON_MAIN_THREAD) { - if (mainHandler == null) { - mainHandler = new Handler(android.os.Looper.getMainLooper()); - } - mainHandler.post(new Runnable() { + getMainHandler().post(new Runnable() { @Override public void run() { callback.onException(exc); @@ -401,4 +453,11 @@ public void run() { }); thread.start(); } + + public static int getStatusCode(Response response) { + return response.code(); + } + public static String getMessage(Response response) { + return response.message(); + } } \ No newline at end of file diff --git a/plugin/platforms/android/java/com/nativescript/https/QuotePreservingCookieJar.java b/plugin/platforms/android/java/com/nativescript/https/QuotePreservingCookieJar.java index b8dcb17..34d87ed 100644 --- a/plugin/platforms/android/java/com/nativescript/https/QuotePreservingCookieJar.java +++ b/plugin/platforms/android/java/com/nativescript/https/QuotePreservingCookieJar.java @@ -27,8 +27,6 @@ import okhttp3.HttpUrl; import okhttp3.internal.platform.Platform; -import static okhttp3.internal.Util.delimiterOffset; -import static okhttp3.internal.Util.trimSubstring; import static okhttp3.internal.platform.Platform.WARN; /** A cookie jar that delegates to a {@link java.net.CookieHandler}. */ @@ -49,7 +47,7 @@ public QuotePreservingCookieJar(CookieHandler cookieHandler) { try { cookieHandler.put(url.uri(), multimap); } catch (IOException e) { - Platform.get().log(WARN, "Saving cookies failed for " + url.resolve("/..."), e); + // Platform.get().log(WARN, "Saving cookies failed for " + url.resolve("/..."), e); } } } @@ -61,7 +59,7 @@ public QuotePreservingCookieJar(CookieHandler cookieHandler) { try { cookieHeaders = cookieHandler.get(url.uri(), headers); } catch (IOException e) { - Platform.get().log(WARN, "Loading cookies failed for " + url.resolve("/..."), e); + // Platform.get().log(WARN, "Loading cookies failed for " + url.resolve("/..."), e); return Collections.emptyList(); } @@ -82,6 +80,64 @@ public QuotePreservingCookieJar(CookieHandler cookieHandler) { : Collections.emptyList(); } + /** + * Increments {@code pos} until {@code input[pos]} is not ASCII whitespace. Stops at {@code + * limit}. + */ + public static int skipLeadingAsciiWhitespace(String input, int pos, int limit) { + for (int i = pos; i < limit; i++) { + switch (input.charAt(i)) { + case '\t': + case '\n': + case '\f': + case '\r': + case ' ': + continue; + default: + return i; + } + } + return limit; + } + + /** + * Decrements {@code limit} until {@code input[limit - 1]} is not ASCII whitespace. Stops at + * {@code pos}. + */ + public static int skipTrailingAsciiWhitespace(String input, int pos, int limit) { + for (int i = limit - 1; i >= pos; i--) { + switch (input.charAt(i)) { + case '\t': + case '\n': + case '\f': + case '\r': + case ' ': + continue; + default: + return i + 1; + } + } + return pos; + } + + /** Equivalent to {@code string.substring(pos, limit).trim()}. */ + public static String trimSubstring(String string, int pos, int limit) { + int start = skipLeadingAsciiWhitespace(string, pos, limit); + int end = skipTrailingAsciiWhitespace(string, start, limit); + return string.substring(start, end); + } + + /** + * Returns the index of the first character in {@code input} that contains a character in {@code + * delimiters}. Returns limit if there is no such character. + */ + public static int delimiterOffset(String input, int pos, int limit, String delimiters) { + for (int i = pos; i < limit; i++) { + if (delimiters.indexOf(input.charAt(i)) != -1) return i; + } + return limit; + } + /** * Convert a request header to OkHttp's cookies via {@link HttpCookie}. That extra step handles * multiple cookies in a single request header, which {@link Cookie#parse} doesn't support. @@ -90,7 +146,7 @@ private List decodeHeaderAsJavaNetCookies(HttpUrl url, String header) { List result = new ArrayList<>(); for (int pos = 0, limit = header.length(), pairEnd; pos < limit; pos = pairEnd + 1) { pairEnd = delimiterOffset(header, pos, limit, ";,"); - int equalsSign = delimiterOffset(header, pos, pairEnd, '='); + int equalsSign = delimiterOffset(header, pos, pairEnd, "="); String name = trimSubstring(header, pos, equalsSign); if (name.startsWith("$")) continue; diff --git a/src/request.android.ts b/src/request.android.ts index dbdeb41..95573b2 100644 --- a/src/request.android.ts +++ b/src/request.android.ts @@ -330,7 +330,7 @@ function getClient(reload: boolean = false, timeout: number = 10): okhttp3.OkHtt if (cache) { builder.cache(cache); if (forceCache) { - builder.addInterceptor(new com.nativescript.https.CacheInterceptor()); + builder.addInterceptor(com.nativescript.https.CacheInterceptor.INTERCEPTOR); } } if (cookieJar) { @@ -488,58 +488,63 @@ export function createRequest(opts: HttpsRequestOptions, useLegacy: boolean = tr new okhttp3.Callback({ onResponse(call, response) { delete runningClients[tag]; - const responseBody = response.body(); - const message = response.message(); - const statusCode = response.code(); - const getHeaders = function () { - const heads = response.headers(); - const headers = {}; - // let heads: okhttp3.Headers = resp.headers(); - const len: number = heads.size(); - let i: number; - for (i = 0; i < len; i++) { - const key = heads.name(i); - headers[key] = heads.value(i); - } - return headers; - }; - if (useLegacy) { - if (!OkHttpResponse) { - OkHttpResponse = com.nativescript.https.OkHttpResponse; - } - - const nResponse = new OkHttpResponse(responseBody); + if (!OkHttpResponse) { + OkHttpResponse = com.nativescript.https.OkHttpResponse; + } + try { + const responseBody = response.body(); + const message = OkHttpResponse.getMessage(response); + const statusCode = OkHttpResponse.getStatusCode(response); + const getHeaders = function () { + const heads = response.headers(); + const headers = {}; + // let heads: okhttp3.Headers = resp.headers(); + const len: number = heads.size(); + let i: number; + for (i = 0; i < len; i++) { + const key = heads.name(i); + headers[key] = heads.value(i); + } + return headers; + }; + if (useLegacy) { + const nResponse = new OkHttpResponse(responseBody); + if (opts.onProgress) { + nResponse.progressCallback = new OkHttpResponse.OkHttpResponseProgressCallback({ + onProgress: opts.onProgress, + }); + } - if (opts.onProgress) { - nResponse.progressCallback = new OkHttpResponse.OkHttpResponseProgressCallback({ - onProgress: opts.onProgress, + resolve({ + response, + content: new HttpsResponseLegacy(nResponse, tag, opts.url), + contentLength: nResponse.contentLength(), + statusCode, + reason: message, + get headers() { + return getHeaders(); + }, + }); + } else { + resolve({ + response, + content: responseBody.string(), + contentLength: responseBody.contentLength(), + reason: message, + statusCode, + get headers() { + return getHeaders(); + }, }); } - - resolve({ - response, - content: new HttpsResponseLegacy(nResponse, tag, opts.url), - contentLength: nResponse.contentLength(), - statusCode, - reason: message, - get headers() { - return getHeaders(); - }, - }); - } else { - resolve({ - response, - content: responseBody.string(), - contentLength: responseBody.contentLength(), - reason: message, - statusCode, - get headers() { - return getHeaders(); - }, - }); + } catch (error) { + console.error(error); + delete runningClients[tag]; + reject(error); } }, onFailure(task, error) { + console.error(error); delete runningClients[tag]; reject(error); }, diff --git a/src/typings/android.d.ts b/src/typings/android.d.ts index 393ac16..57e7455 100644 --- a/src/typings/android.d.ts +++ b/src/typings/android.d.ts @@ -4,8 +4,8 @@ declare namespace com { export class QuotePreservingCookieJar extends okhttp3.CookieJar { constructor(manager: java.net.CookieManager); } - export class CacheInterceptor implements okhttp3.Interceptor { - intercept(chain): okhttp3.Response; + export class CacheInterceptor { + public static INTERCEPTOR: okhttp3.Interceptor; } export class OkHttpResponse { progressCallback: OkHttpResponse.OkHttpResponseProgressCallback; @@ -21,6 +21,9 @@ declare namespace com { toBitmapAsync(callback: OkHttpResponse.OkHttpResponseAsyncCallback); toFile(); toFileAsync(filePath: string, callback: OkHttpResponse.OkHttpResponseAsyncCallback); + + static getStatusCode(response: okhttp3.Response): number; + static getMessage(response: okhttp3.Response): String; } export class ProgressRequestWrapper extends okhttp3.RequestBody { constructor(body: okhttp3.RequestBody, listener: ProgressRequestWrapper.ProgressListener); diff --git a/src/typings/okhttp3.d.ts b/src/typings/okhttp3.d.ts index e339443..f6dcde8 100644 --- a/src/typings/okhttp3.d.ts +++ b/src/typings/okhttp3.d.ts @@ -1,2609 +1,5372 @@ -/* eslint-disable @typescript-eslint/adjacent-overload-signatures */ -/* eslint-disable no-redeclare */ -/* eslint-disable @typescript-eslint/unified-signatures */ -declare namespace okhttp3 { - export class Address { - public static class: java.lang.Class
; - public proxy(): java.net.Proxy; - public equals(param0: any): boolean; - public constructor( - param0: string, - param1: number, - param2: Dns, - param3: javax.net.SocketFactory, - param4: javax.net.ssl.SSLSocketFactory, - param5: javax.net.ssl.HostnameVerifier, - param6: CertificatePinner, - param7: Authenticator, - param8: java.net.Proxy, - param9: java.util.List, - param10: java.util.List, - param11: java.net.ProxySelector - ); - public proxySelector(): java.net.ProxySelector; - public sslSocketFactory(): javax.net.ssl.SSLSocketFactory; - public url(): HttpUrl; - public certificatePinner(): CertificatePinner; - public toString(): string; - public protocols(): java.util.List; - public socketFactory(): javax.net.SocketFactory; - public dns(): Dns; - public proxyAuthenticator(): Authenticator; - public hostnameVerifier(): javax.net.ssl.HostnameVerifier; - public hashCode(): number; - public connectionSpecs(): java.util.List; - } -} - -declare namespace okhttp3 { - export class Authenticator { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Authenticator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { authenticate(param0: Route, param1: Response): Request; (): void }); - public constructor(); - public static NONE: Authenticator; - public authenticate(param0: Route, param1: Response): Request; - } -} - -declare namespace okhttp3 { - export class Cache { - public static class: java.lang.Class; - public close(): void; - public directory(): java.io.File; - public constructor(param0: java.io.File, param1: number); - public static key(param0: HttpUrl): string; - public writeAbortCount(): number; - public evictAll(): void; - public delete(): void; - public isClosed(): boolean; - public networkCount(): number; - public requestCount(): number; - public flush(): void; - public initialize(): void; - public size(): number; - public writeSuccessCount(): number; - public hitCount(): number; - public urls(): java.util.Iterator; - public maxSize(): number; - } - export namespace Cache { - export class CacheRequestImpl extends internal.cache.CacheRequest { - public static class: java.lang.Class; - public body(): okio.Sink; - public abort(): void; - } - export class CacheResponseBody extends ResponseBody { - public static class: java.lang.Class; - public contentLength(): number; - public source(): okio.BufferedSource; - public contentType(): MediaType; - } - export class Entry { - public static class: java.lang.Class; - public matches(param0: Request, param1: Response): boolean; - public response(param0: internal.cache.DiskLruCache.Snapshot): Response; - public writeTo(param0: internal.cache.DiskLruCache.Editor): void; - } - } -} - -declare namespace okhttp3 { - export class CacheControl { - public static class: java.lang.Class; - public static FORCE_NETWORK: CacheControl; - public static FORCE_CACHE: CacheControl; - public maxStaleSeconds(): number; - public mustRevalidate(): boolean; - public static parse(param0: Headers): CacheControl; - public toString(): string; - public minFreshSeconds(): number; - public onlyIfCached(): boolean; - public noCache(): boolean; - public noTransform(): boolean; - public isPrivate(): boolean; - public immutable(): boolean; - public sMaxAgeSeconds(): number; - public noStore(): boolean; - public maxAgeSeconds(): number; - public isPublic(): boolean; - } - export namespace CacheControl { - export class Builder { - public static class: java.lang.Class; - public noCache(): Builder; - public maxStale(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public immutable(): Builder; - public onlyIfCached(): Builder; - public minFresh(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public maxAge(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public constructor(); - public build(): CacheControl; - public noStore(): Builder; - public noTransform(): Builder; - } - } -} - -declare namespace okhttp3 { - export class Call { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Call interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - request(): Request; - execute(): Response; - enqueue(param0: Callback): void; - cancel(): void; - isExecuted(): boolean; - isCanceled(): boolean; - timeout(): okio.Timeout; - clone(): Call; - }); - public constructor(); - public isExecuted(): boolean; - public clone(): Call; - public request(): Request; - public execute(): Response; - public isCanceled(): boolean; - public enqueue(param0: Callback): void; - public cancel(): void; - public timeout(): okio.Timeout; - } - export namespace Call { - export class Factory { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Call$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { newCall(param0: Request): Call }); - public constructor(); - public newCall(param0: Request): Call; - } - } -} - -declare namespace okhttp3 { - export class Callback { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { onFailure(param0: Call, param1: java.io.IOException): void; onResponse(param0: Call, param1: Response): void }); - public constructor(); - public onResponse(param0: Call, param1: Response): void; - public onFailure(param0: Call, param1: java.io.IOException): void; - } -} - -declare namespace okhttp3 { - export class CertificatePinner { - public static class: java.lang.Class; - public static DEFAULT: CertificatePinner; - public equals(param0: any): boolean; - public static pin(param0: java.security.cert.Certificate): string; - public check(param0: string, param1: native.Array): void; - public hashCode(): number; - public check(param0: string, param1: java.util.List): void; - } - export namespace CertificatePinner { - export class Builder { - public static class: java.lang.Class; - public build(): CertificatePinner; - public add(param0: string, param1: native.Array): Builder; - public constructor(); - } - export class Pin { - public static class: java.lang.Class; - public equals(param0: any): boolean; - public toString(): string; - public hashCode(): number; - } - } -} - -declare namespace okhttp3 { - export class Challenge { - public static class: java.lang.Class; - public authParams(): java.util.Map; - public charset(): java.nio.charset.Charset; - public equals(param0: any): boolean; - public scheme(): string; - public hashCode(): number; - public toString(): string; - public constructor(param0: string, param1: java.util.Map); - public withCharset(param0: java.nio.charset.Charset): Challenge; - public constructor(param0: string, param1: string); - public realm(): string; - } -} - -declare namespace okhttp3 { - export class CipherSuite { - public static class: java.lang.Class; - public static TLS_RSA_WITH_NULL_MD5: CipherSuite; - public static TLS_RSA_WITH_NULL_SHA: CipherSuite; - public static TLS_RSA_EXPORT_WITH_RC4_40_MD5: CipherSuite; - public static TLS_RSA_WITH_RC4_128_MD5: CipherSuite; - public static TLS_RSA_WITH_RC4_128_SHA: CipherSuite; - public static TLS_RSA_EXPORT_WITH_DES40_CBC_SHA: CipherSuite; - public static TLS_RSA_WITH_DES_CBC_SHA: CipherSuite; - public static TLS_RSA_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_WITH_DES_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_DES_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_DH_anon_EXPORT_WITH_RC4_40_MD5: CipherSuite; - public static TLS_DH_anon_WITH_RC4_128_MD5: CipherSuite; - public static TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA: CipherSuite; - public static TLS_DH_anon_WITH_DES_CBC_SHA: CipherSuite; - public static TLS_DH_anon_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_KRB5_WITH_DES_CBC_SHA: CipherSuite; - public static TLS_KRB5_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_KRB5_WITH_RC4_128_SHA: CipherSuite; - public static TLS_KRB5_WITH_DES_CBC_MD5: CipherSuite; - public static TLS_KRB5_WITH_3DES_EDE_CBC_MD5: CipherSuite; - public static TLS_KRB5_WITH_RC4_128_MD5: CipherSuite; - public static TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA: CipherSuite; - public static TLS_KRB5_EXPORT_WITH_RC4_40_SHA: CipherSuite; - public static TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5: CipherSuite; - public static TLS_KRB5_EXPORT_WITH_RC4_40_MD5: CipherSuite; - public static TLS_RSA_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_DH_anon_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_RSA_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_DH_anon_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_RSA_WITH_NULL_SHA256: CipherSuite; - public static TLS_RSA_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_RSA_WITH_AES_256_CBC_SHA256: CipherSuite; - public static TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: CipherSuite; - public static TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: CipherSuite; - public static TLS_DH_anon_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_DH_anon_WITH_AES_256_CBC_SHA256: CipherSuite; - public static TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: CipherSuite; - public static TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: CipherSuite; - public static TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: CipherSuite; - public static TLS_PSK_WITH_RC4_128_SHA: CipherSuite; - public static TLS_PSK_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_PSK_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_PSK_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_RSA_WITH_SEED_CBC_SHA: CipherSuite; - public static TLS_RSA_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_RSA_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_DH_anon_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_DH_anon_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_EMPTY_RENEGOTIATION_INFO_SCSV: CipherSuite; - public static TLS_FALLBACK_SCSV: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_NULL_SHA: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_RC4_128_SHA: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_NULL_SHA: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_ECDH_RSA_WITH_NULL_SHA: CipherSuite; - public static TLS_ECDH_RSA_WITH_RC4_128_SHA: CipherSuite; - public static TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_ECDHE_RSA_WITH_NULL_SHA: CipherSuite; - public static TLS_ECDHE_RSA_WITH_RC4_128_SHA: CipherSuite; - public static TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_ECDH_anon_WITH_NULL_SHA: CipherSuite; - public static TLS_ECDH_anon_WITH_RC4_128_SHA: CipherSuite; - public static TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA: CipherSuite; - public static TLS_ECDH_anon_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_ECDH_anon_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: CipherSuite; - public static TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: CipherSuite; - public static TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: CipherSuite; - public static TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: CipherSuite; - public static TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: CipherSuite; - public static TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA: CipherSuite; - public static TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA: CipherSuite; - public static TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: CipherSuite; - public static TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: CipherSuite; - public static TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: CipherSuite; - public static TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: CipherSuite; - public static TLS_AES_128_GCM_SHA256: CipherSuite; - public static TLS_AES_256_GCM_SHA384: CipherSuite; - public static TLS_CHACHA20_POLY1305_SHA256: CipherSuite; - public static TLS_AES_128_CCM_SHA256: CipherSuite; - public static TLS_AES_256_CCM_8_SHA256: CipherSuite; - public javaName(): string; - public static forJavaName(param0: string): CipherSuite; - public toString(): string; - } -} - -declare namespace okhttp3 { - export class Connection { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Connection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { route(): Route; socket(): java.net.Socket; handshake(): Handshake; protocol(): Protocol }); - public constructor(); - public route(): Route; - public protocol(): Protocol; - public handshake(): Handshake; - public socket(): java.net.Socket; - } -} - -declare namespace okhttp3 { - export class ConnectionPool { - public static class: java.lang.Class; - public constructor(); - public connectionCount(): number; - public evictAll(): void; - public idleConnectionCount(): number; - public constructor(param0: number, param1: number, param2: java.util.concurrent.TimeUnit); - } -} - -declare namespace okhttp3 { - export class ConnectionSpec { - public static class: java.lang.Class; - public static RESTRICTED_TLS: ConnectionSpec; - public static MODERN_TLS: ConnectionSpec; - public static COMPATIBLE_TLS: ConnectionSpec; - public static CLEARTEXT: ConnectionSpec; - public cipherSuites(): java.util.List; - public equals(param0: any): boolean; - public tlsVersions(): java.util.List; - public supportsTlsExtensions(): boolean; - public hashCode(): number; - public isCompatible(param0: javax.net.ssl.SSLSocket): boolean; - public isTls(): boolean; - public toString(): string; - } - export namespace ConnectionSpec { - export class Builder { - public static class: java.lang.Class; - public tlsVersions(param0: native.Array): Builder; - public cipherSuites(param0: native.Array): Builder; - public build(): ConnectionSpec; - public constructor(param0: ConnectionSpec); - public cipherSuites(param0: native.Array): Builder; - public supportsTlsExtensions(param0: boolean): Builder; - public allEnabledCipherSuites(): Builder; - public tlsVersions(param0: native.Array): Builder; - public allEnabledTlsVersions(): Builder; - } - } -} - -declare namespace okhttp3 { - export class Cookie { - public static class: java.lang.Class; - public domain(): string; - public equals(param0: any): boolean; - public matches(param0: HttpUrl): boolean; - public static parseAll(param0: HttpUrl, param1: Headers): java.util.List; - public toString(): string; - public persistent(): boolean; - public httpOnly(): boolean; - public static parse(param0: HttpUrl, param1: string): Cookie; - public hostOnly(): boolean; - public expiresAt(): number; - public hashCode(): number; - public name(): string; - public path(): string; - public secure(): boolean; - public value(): string; - } - export namespace Cookie { - export class Builder { - public static class: java.lang.Class; - public domain(param0: string): Builder; - public hostOnlyDomain(param0: string): Builder; - public value(param0: string): Builder; - public httpOnly(): Builder; - public secure(): Builder; - public expiresAt(param0: number): Builder; - public build(): Cookie; - public name(param0: string): Builder; - public constructor(); - public path(param0: string): Builder; - } - } -} - -declare namespace okhttp3 { - export class CookieJar { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.CookieJar interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { saveFromResponse(param0: HttpUrl, param1: java.util.List): void; loadForRequest(param0: HttpUrl): java.util.List; (): void }); - public constructor(); - public static NO_COOKIES: CookieJar; - public loadForRequest(param0: HttpUrl): java.util.List; - public saveFromResponse(param0: HttpUrl, param1: java.util.List): void; - } -} - -declare namespace okhttp3 { - export class Credentials { - public static class: java.lang.Class; - public static basic(param0: string, param1: string, param2: java.nio.charset.Charset): string; - public static basic(param0: string, param1: string): string; - } -} - -declare namespace okhttp3 { - export class Dispatcher { - public static class: java.lang.Class; - public constructor(); - public setMaxRequestsPerHost(param0: number): void; - public constructor(param0: java.util.concurrent.ExecutorService); - public queuedCallsCount(): number; - public runningCallsCount(): number; - public runningCalls(): java.util.List; - public cancelAll(): void; - public queuedCalls(): java.util.List; - public setMaxRequests(param0: number): void; - public getMaxRequestsPerHost(): number; - public executorService(): java.util.concurrent.ExecutorService; - public setIdleCallback(param0: java.lang.Runnable): void; - public getMaxRequests(): number; - } -} - -declare namespace okhttp3 { - export class Dns { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Dns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { lookup(param0: string): java.util.List; (): void }); - public constructor(); - public static SYSTEM: Dns; - public lookup(param0: string): java.util.List; - } -} - -declare namespace okhttp3 { - export abstract class EventListener { - public static class: java.lang.Class; - public static NONE: EventListener; - public constructor(); - public connectFailed(param0: Call, param1: java.net.InetSocketAddress, param2: java.net.Proxy, param3: Protocol, param4: java.io.IOException): void; - public callStart(param0: Call): void; - public connectionReleased(param0: Call, param1: Connection): void; - public dnsEnd(param0: Call, param1: string, param2: java.util.List): void; - public responseBodyEnd(param0: Call, param1: number): void; - public callEnd(param0: Call): void; - public secureConnectStart(param0: Call): void; - public responseHeadersEnd(param0: Call, param1: Response): void; - public secureConnectEnd(param0: Call, param1: Handshake): void; - public dnsStart(param0: Call, param1: string): void; - public connectionAcquired(param0: Call, param1: Connection): void; - public connectEnd(param0: Call, param1: java.net.InetSocketAddress, param2: java.net.Proxy, param3: Protocol): void; - public requestHeadersEnd(param0: Call, param1: Request): void; - public responseBodyStart(param0: Call): void; - public connectStart(param0: Call, param1: java.net.InetSocketAddress, param2: java.net.Proxy): void; - public requestBodyEnd(param0: Call, param1: number): void; - public callFailed(param0: Call, param1: java.io.IOException): void; - public requestHeadersStart(param0: Call): void; - public requestBodyStart(param0: Call): void; - public responseHeadersStart(param0: Call): void; - } - export namespace EventListener { - export class Factory { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.EventListener$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { create(param0: Call): EventListener }); - public constructor(); - public create(param0: Call): EventListener; - } - } -} - -declare namespace okhttp3 { - export class FormBody extends RequestBody { - public static class: java.lang.Class; - public value(param0: number): string; - public encodedValue(param0: number): string; - public name(param0: number): string; - public size(): number; - public encodedName(param0: number): string; - public contentType(): MediaType; - public writeTo(param0: okio.BufferedSink): void; - public contentLength(): number; - } - export namespace FormBody { - export class Builder { - public static class: java.lang.Class; - public constructor(param0: java.nio.charset.Charset); - public addEncoded(param0: string, param1: string): Builder; - public constructor(); - public add(param0: string, param1: string): Builder; - public build(): FormBody; - } - } -} - -declare namespace okhttp3 { - export class Handshake { - public static class: java.lang.Class; - public equals(param0: any): boolean; - public static get(param0: javax.net.ssl.SSLSession): Handshake; - public static get(param0: TlsVersion, param1: CipherSuite, param2: java.util.List, param3: java.util.List): Handshake; - public hashCode(): number; - public localCertificates(): java.util.List; - public localPrincipal(): java.security.Principal; - public tlsVersion(): TlsVersion; - public peerCertificates(): java.util.List; - public peerPrincipal(): java.security.Principal; - public cipherSuite(): CipherSuite; - } -} - -declare namespace okhttp3 { - export class Headers { - public static class: java.lang.Class; - public value(param0: number): string; - public equals(param0: any): boolean; - public newBuilder(): Headers.Builder; - public toString(): string; - public get(param0: string): string; - public values(param0: string): java.util.List; - public names(): java.util.Set; - public static of(param0: java.util.Map): Headers; - public name(param0: number): string; - public size(): number; - public hashCode(): number; - public toMultimap(): java.util.Map>; - public getDate(param0: string): java.util.Date; - public byteCount(): number; - public static of(param0: native.Array): Headers; - } - export namespace Headers { - export class Builder { - public static class: java.lang.Class; - public get(param0: string): string; - public build(): Headers; - public add(param0: string, param1: string): Builder; - public removeAll(param0: string): Builder; - public set(param0: string, param1: string): Builder; - public set(param0: string, param1: java.util.Date): Builder; - public constructor(); - public addAll(param0: Headers): Builder; - public add(param0: string): Builder; - public addUnsafeNonAscii(param0: string, param1: string): Builder; - public add(param0: string, param1: java.util.Date): Builder; - } - } -} - -declare namespace okhttp3 { - export class HttpUrl { - public static class: java.lang.Class; - public static get(param0: java.net.URI): HttpUrl; - public equals(param0: any): boolean; - public topPrivateDomain(): string; - public queryParameterName(param0: number): string; - public static defaultPort(param0: string): number; - public scheme(): string; - public queryParameterNames(): java.util.Set; - public encodedPassword(): string; - public queryParameter(param0: string): string; - public query(): string; - public password(): string; - public hashCode(): number; - public static get(param0: string): HttpUrl; - public resolve(param0: string): HttpUrl; - public pathSize(): number; - public isHttps(): boolean; - public encodedPathSegments(): java.util.List; - public newBuilder(): HttpUrl.Builder; - public port(): number; - public encodedQuery(): string; - public encodedPath(): string; - public encodedFragment(): string; - public redact(): string; - public fragment(): string; - public toString(): string; - public uri(): java.net.URI; - public queryParameterValue(param0: number): string; - public encodedUsername(): string; - public queryParameterValues(param0: string): java.util.List; - public newBuilder(param0: string): HttpUrl.Builder; - public host(): string; - public static get(param0: java.net.URL): HttpUrl; - public pathSegments(): java.util.List; - public static parse(param0: string): HttpUrl; - public url(): java.net.URL; - public querySize(): number; - public username(): string; - } - export namespace HttpUrl { - export class Builder { - public static class: java.lang.Class; - public addPathSegment(param0: string): Builder; - public addEncodedPathSegment(param0: string): Builder; - public setEncodedQueryParameter(param0: string, param1: string): Builder; - public setQueryParameter(param0: string, param1: string): Builder; - public encodedFragment(param0: string): Builder; - public username(param0: string): Builder; - public addPathSegments(param0: string): Builder; - public encodedPath(param0: string): Builder; - public encodedPassword(param0: string): Builder; - public addEncodedPathSegments(param0: string): Builder; - public encodedQuery(param0: string): Builder; - public host(param0: string): Builder; - public removeAllEncodedQueryParameters(param0: string): Builder; - public setEncodedPathSegment(param0: number, param1: string): Builder; - public constructor(); - public encodedUsername(param0: string): Builder; - public password(param0: string): Builder; - public port(param0: number): Builder; - public toString(): string; - public addQueryParameter(param0: string, param1: string): Builder; - public addEncodedQueryParameter(param0: string, param1: string): Builder; - public query(param0: string): Builder; - public setPathSegment(param0: number, param1: string): Builder; - public removeAllQueryParameters(param0: string): Builder; - public scheme(param0: string): Builder; - public removePathSegment(param0: number): Builder; - public fragment(param0: string): Builder; - public build(): HttpUrl; - } - } -} - -declare namespace okhttp3 { - export class Interceptor { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Interceptor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { intercept(param0: Interceptor.Chain): Response }); - public constructor(); - public intercept(param0: Interceptor.Chain): Response; - } - export namespace Interceptor { - export class Chain { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.Interceptor$Chain interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - request(): Request; - proceed(param0: Request): Response; - connection(): Connection; - call(): Call; - connectTimeoutMillis(): number; - withConnectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Chain; - readTimeoutMillis(): number; - withReadTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Chain; - writeTimeoutMillis(): number; - withWriteTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Chain; - }); - public constructor(); - public request(): Request; - public withConnectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Chain; - public call(): Call; - public withWriteTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Chain; - public readTimeoutMillis(): number; - public withReadTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Chain; - public proceed(param0: Request): Response; - public connection(): Connection; - public connectTimeoutMillis(): number; - public writeTimeoutMillis(): number; - } - } -} - -declare namespace okhttp3 { - export class MediaType { - public static class: java.lang.Class; - public type(): string; - public charset(): java.nio.charset.Charset; - public equals(param0: any): boolean; - public subtype(): string; - public static get(param0: string): MediaType; - public charset(param0: java.nio.charset.Charset): java.nio.charset.Charset; - public hashCode(): number; - public static parse(param0: string): MediaType; - public toString(): string; - } -} - -declare namespace okhttp3 { - export class MultipartBody extends RequestBody { - public static class: java.lang.Class; - public static MIXED: MediaType; - public static ALTERNATIVE: MediaType; - public static DIGEST: MediaType; - public static PARALLEL: MediaType; - public static FORM: MediaType; - public boundary(): string; - public size(): number; - public parts(): java.util.List; - public type(): MediaType; - public contentType(): MediaType; - public writeTo(param0: okio.BufferedSink): void; - public part(param0: number): MultipartBody.Part; - public contentLength(): number; - } - export namespace MultipartBody { - export class Builder { - public static class: java.lang.Class; - public setType(param0: MediaType): Builder; - public addPart(param0: Part): Builder; - public build(): MultipartBody; - public addPart(param0: Headers, param1: RequestBody): Builder; - public addPart(param0: RequestBody): Builder; - public constructor(); - public addFormDataPart(param0: string, param1: string): Builder; - public addFormDataPart(param0: string, param1: string, param2: RequestBody): Builder; - public constructor(param0: string); - } - export class Part { - public static class: java.lang.Class; - public headers(): Headers; - public static create(param0: Headers, param1: RequestBody): Part; - public static createFormData(param0: string, param1: string, param2: RequestBody): Part; - public static create(param0: RequestBody): Part; - public static createFormData(param0: string, param1: string): Part; - public body(): RequestBody; - } - } -} - -declare namespace okhttp3 { - export class OkHttpClient implements Call.Factory, WebSocket.Factory { - public static class: java.lang.Class; - public proxy(): java.net.Proxy; - public sslSocketFactory(): javax.net.ssl.SSLSocketFactory; - public connectionPool(): ConnectionPool; - public cache(): Cache; - public certificatePinner(): CertificatePinner; - public dispatcher(): Dispatcher; - public protocols(): java.util.List; - public dns(): Dns; - public proxyAuthenticator(): Authenticator; - public callTimeoutMillis(): number; - public hostnameVerifier(): javax.net.ssl.HostnameVerifier; - public connectTimeoutMillis(): number; - public pingIntervalMillis(): number; - public cookieJar(): CookieJar; - public connectionSpecs(): java.util.List; - public newBuilder(): OkHttpClient.Builder; - public constructor(); - public proxySelector(): java.net.ProxySelector; - public readTimeoutMillis(): number; - public authenticator(): Authenticator; - public followRedirects(): boolean; - public interceptors(): java.util.List; - public writeTimeoutMillis(): number; - public newWebSocket(param0: Request, param1: WebSocketListener): WebSocket; - public followSslRedirects(): boolean; - public socketFactory(): javax.net.SocketFactory; - public retryOnConnectionFailure(): boolean; - public networkInterceptors(): java.util.List; - public eventListenerFactory(): EventListener.Factory; - public newCall(param0: Request): Call; - } - export namespace OkHttpClient { - export class Builder { - public static class: java.lang.Class; - public protocols(param0: java.util.List): Builder; - public addInterceptor(param0: Interceptor): Builder; - public connectionPool(param0: ConnectionPool): Builder; - public interceptors(): java.util.List; - public readTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public callTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public dns(param0: Dns): Builder; - public writeTimeout(param0: java.time.Duration): Builder; - public readTimeout(param0: java.time.Duration): Builder; - public pingInterval(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public eventListenerFactory(param0: EventListener.Factory): Builder; - public connectionSpecs(param0: java.util.List): Builder; - public build(): OkHttpClient; - public sslSocketFactory(param0: javax.net.ssl.SSLSocketFactory): Builder; - public eventListener(param0: EventListener): Builder; - public proxyAuthenticator(param0: Authenticator): Builder; - public followRedirects(param0: boolean): Builder; - public networkInterceptors(): java.util.List; - public cache(param0: Cache): Builder; - public sslSocketFactory(param0: javax.net.ssl.SSLSocketFactory, param1: javax.net.ssl.X509TrustManager): Builder; - public callTimeout(param0: java.time.Duration): Builder; - public cookieJar(param0: CookieJar): Builder; - public connectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public pingInterval(param0: java.time.Duration): Builder; - public followSslRedirects(param0: boolean): Builder; - public constructor(); - public connectTimeout(param0: java.time.Duration): Builder; - public dispatcher(param0: Dispatcher): Builder; - public proxySelector(param0: java.net.ProxySelector): Builder; - public socketFactory(param0: javax.net.SocketFactory): Builder; - public retryOnConnectionFailure(param0: boolean): Builder; - public writeTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Builder; - public addNetworkInterceptor(param0: Interceptor): Builder; - public hostnameVerifier(param0: javax.net.ssl.HostnameVerifier): Builder; - public authenticator(param0: Authenticator): Builder; - public proxy(param0: java.net.Proxy): Builder; - public certificatePinner(param0: CertificatePinner): Builder; - } - } -} - -declare namespace okhttp3 { - export class Protocol { - public static class: java.lang.Class; - public static HTTP_1_0: Protocol; - public static HTTP_1_1: Protocol; - public static SPDY_3: Protocol; - public static HTTP_2: Protocol; - public static H2_PRIOR_KNOWLEDGE: Protocol; - public static QUIC: Protocol; - public static valueOf(param0: string): Protocol; - public static get(param0: string): Protocol; - public static values(): native.Array; - public toString(): string; - } -} - -declare namespace okhttp3 { - export class RealCall extends Call { - public static class: java.lang.Class; - public clone(): RealCall; - public isExecuted(): boolean; - public clone(): Call; - public request(): Request; - public execute(): Response; - public isCanceled(): boolean; - public enqueue(param0: Callback): void; - public cancel(): void; - public timeout(): okio.Timeout; - } - export namespace RealCall { - export class AsyncCall extends internal.NamedRunnable { - public static class: java.lang.Class; - public execute(): void; - } - } -} - -declare namespace okhttp3 { - export class Request { - public static class: java.lang.Class; - public header(param0: string): string; - public headers(): Headers; - public tag(): any; - public newBuilder(): Request.Builder; - public headers(param0: string): java.util.List; - public url(): HttpUrl; - public tag(param0: java.lang.Class): any; - public cacheControl(): CacheControl; - public method(): string; - public toString(): string; - public body(): RequestBody; - public isHttps(): boolean; - } - export namespace Request { - export class Builder { - public static class: java.lang.Class; - public tag(param0: java.lang.Class, param1: any): Builder; - public url(param0: HttpUrl): Builder; - public tag(param0: any): Builder; - public url(param0: java.net.URL): Builder; - public header(param0: string, param1: string): Builder; - public headers(param0: Headers): Builder; - public put(param0: RequestBody): Builder; - public delete(): Builder; - public get(): Builder; - public constructor(); - public addHeader(param0: string, param1: string): Builder; - public post(param0: RequestBody): Builder; - public delete(param0: RequestBody): Builder; - public patch(param0: RequestBody): Builder; - public build(): Request; - public method(param0: string, param1: RequestBody): Builder; - public url(param0: string): Builder; - public removeHeader(param0: string): Builder; - public cacheControl(param0: CacheControl): Builder; - public head(): Builder; - } - } -} - -declare namespace okhttp3 { - export abstract class RequestBody { - public static class: java.lang.Class; - public constructor(); - public static create(param0: MediaType, param1: okio.ByteString): RequestBody; - public static create(param0: MediaType, param1: java.io.File): RequestBody; - public static create(param0: MediaType, param1: string): RequestBody; - public contentType(): MediaType; - public writeTo(param0: okio.BufferedSink): void; - public static create(param0: MediaType, param1: native.Array): RequestBody; - public contentLength(): number; - public static create(param0: MediaType, param1: native.Array, param2: number, param3: number): RequestBody; - } -} - -declare namespace okhttp3 { - export class Response { - public static class: java.lang.Class; - public headers(): Headers; - public priorResponse(): Response; - public close(): void; - public cacheResponse(): Response; - public sentRequestAtMillis(): number; - public cacheControl(): CacheControl; - public toString(): string; - public handshake(): Handshake; - public peekBody(param0: number): ResponseBody; - public isSuccessful(): boolean; - public header(param0: string): string; - public header(param0: string, param1: string): string; - public body(): ResponseBody; - public networkResponse(): Response; - public headers(param0: string): java.util.List; - public newBuilder(): Response.Builder; - public request(): Request; - public code(): number; - public protocol(): Protocol; - public message(): string; - public challenges(): java.util.List; - public receivedResponseAtMillis(): number; - public isRedirect(): boolean; - } - export namespace Response { - export class Builder { - public static class: java.lang.Class; - public cacheResponse(param0: Response): Builder; - public body(param0: ResponseBody): Builder; - public message(param0: string): Builder; - public request(param0: Request): Builder; - public header(param0: string, param1: string): Builder; - public headers(param0: Headers): Builder; - public sentRequestAtMillis(param0: number): Builder; - public priorResponse(param0: Response): Builder; - public networkResponse(param0: Response): Builder; - public constructor(); - public removeHeader(param0: string): Builder; - public handshake(param0: Handshake): Builder; - public addHeader(param0: string, param1: string): Builder; - public code(param0: number): Builder; - public build(): Response; - public protocol(param0: Protocol): Builder; - public receivedResponseAtMillis(param0: number): Builder; - } - } -} - -declare namespace okhttp3 { - export abstract class ResponseBody { - public static class: java.lang.Class; - public constructor(); - public byteStream(): java.io.InputStream; - public bytes(): native.Array; - public static create(param0: MediaType, param1: native.Array): ResponseBody; - public static create(param0: MediaType, param1: number, param2: okio.BufferedSource): ResponseBody; - public close(): void; - public source(): okio.BufferedSource; - public static create(param0: MediaType, param1: okio.ByteString): ResponseBody; - public static create(param0: MediaType, param1: string): ResponseBody; - public charStream(): java.io.Reader; - public contentType(): MediaType; - public string(): string; - public contentLength(): number; - } - export namespace ResponseBody { - export class BomAwareReader { - public static class: java.lang.Class; - public read(param0: native.Array, param1: number, param2: number): number; - public close(): void; - } - } -} - -declare namespace okhttp3 { - export class Route { - public static class: java.lang.Class; - public proxy(): java.net.Proxy; - public constructor(param0: Address, param1: java.net.Proxy, param2: java.net.InetSocketAddress); - public equals(param0: any): boolean; - public address(): Address; - public hashCode(): number; - public toString(): string; - public requiresTunnel(): boolean; - public socketAddress(): java.net.InetSocketAddress; - } -} - -declare namespace okhttp3 { - export class TlsVersion { - public static class: java.lang.Class; - public static TLS_1_3: TlsVersion; - public static TLS_1_2: TlsVersion; - public static TLS_1_1: TlsVersion; - public static TLS_1_0: TlsVersion; - public static SSL_3_0: TlsVersion; - public javaName(): string; - public static values(): native.Array; - public static valueOf(param0: string): TlsVersion; - public static forJavaName(param0: string): TlsVersion; - } -} - -declare namespace okhttp3 { - export class WebSocket { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.WebSocket interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - request(): Request; - queueSize(): number; - send(param0: string): boolean; - send(param0: okio.ByteString): boolean; - close(param0: number, param1: string): boolean; - cancel(): void; - }); - public constructor(); - public send(param0: string): boolean; - public send(param0: okio.ByteString): boolean; - public close(param0: number, param1: string): boolean; - public request(): Request; - public queueSize(): number; - public cancel(): void; - } - export namespace WebSocket { - export class Factory { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.WebSocket$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { newWebSocket(param0: Request, param1: WebSocketListener): WebSocket }); - public constructor(); - public newWebSocket(param0: Request, param1: WebSocketListener): WebSocket; - } - } -} - -declare namespace okhttp3 { - export abstract class WebSocketListener { - public static class: java.lang.Class; - public constructor(); - public onClosed(param0: WebSocket, param1: number, param2: string): void; - public onMessage(param0: WebSocket, param1: okio.ByteString): void; - public onFailure(param0: WebSocket, param1: java.lang.Throwable, param2: Response): void; - public onOpen(param0: WebSocket, param1: Response): void; - public onClosing(param0: WebSocket, param1: number, param2: string): void; - public onMessage(param0: WebSocket, param1: string): void; - } -} - -declare namespace okhttp3 { - export namespace internal { - export abstract class Internal { - public static class: java.lang.Class; - public static instance: Internal; - public code(param0: Response.Builder): number; - public addLenient(param0: Headers.Builder, param1: string): void; - public connectionBecameIdle(param0: ConnectionPool, param1: connection.RealConnection): boolean; - public setCache(param0: OkHttpClient.Builder, param1: cache.InternalCache): void; - public equalsNonHost(param0: Address, param1: Address): boolean; - public isInvalidHttpUrlHost(param0: java.lang.IllegalArgumentException): boolean; - public newWebSocketCall(param0: OkHttpClient, param1: Request): Call; - public constructor(); - public apply(param0: ConnectionSpec, param1: javax.net.ssl.SSLSocket, param2: boolean): void; - public put(param0: ConnectionPool, param1: connection.RealConnection): void; - public routeDatabase(param0: ConnectionPool): connection.RouteDatabase; - public static initializeInstanceForTests(): void; - public addLenient(param0: Headers.Builder, param1: string, param2: string): void; - public deduplicate(param0: ConnectionPool, param1: Address, param2: connection.StreamAllocation): java.net.Socket; - public timeoutExit(param0: Call, param1: java.io.IOException): java.io.IOException; - public get(param0: ConnectionPool, param1: Address, param2: connection.StreamAllocation, param3: Route): connection.RealConnection; - public streamAllocation(param0: Call): connection.StreamAllocation; - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export abstract class NamedRunnable { - public static class: java.lang.Class; - public name: string; - public execute(): void; - public constructor(param0: string, param1: native.Array); - public run(): void; - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export class Util { - public static class: java.lang.Class; - public static EMPTY_BYTE_ARRAY: native.Array; - public static EMPTY_STRING_ARRAY: native.Array; - public static EMPTY_RESPONSE: ResponseBody; - public static EMPTY_REQUEST: RequestBody; - public static UTF_8: java.nio.charset.Charset; - public static ISO_8859_1: java.nio.charset.Charset; - public static UTC: java.util.TimeZone; - public static NATURAL_ORDER: java.util.Comparator; - public static checkOffsetAndCount(param0: number, param1: number, param2: number): void; - public static verifyAsIpAddress(param0: string): boolean; - public static equal(param0: any, param1: any): boolean; - public static bomAwareCharset(param0: okio.BufferedSource, param1: java.nio.charset.Charset): java.nio.charset.Charset; - public static platformTrustManager(): javax.net.ssl.X509TrustManager; - public static immutableMap(param0: java.util.Map): java.util.Map; - public static indexOf(param0: java.util.Comparator, param1: native.Array, param2: string): number; - public static format(param0: string, param1: native.Array): string; - public static decodeHexDigit(param0: string): number; - public static indexOfControlOrNonAscii(param0: string): number; - public static immutableList(param0: native.Array): java.util.List; - public static delimiterOffset(param0: string, param1: number, param2: number, param3: string): number; - public static closeQuietly(param0: java.io.Closeable): void; - public static hostHeader(param0: HttpUrl, param1: boolean): string; - public static trimSubstring(param0: string, param1: number, param2: number): string; - public static closeQuietly(param0: java.net.Socket): void; - public static assertionError(param0: string, param1: java.lang.Exception): java.lang.AssertionError; - public static skipTrailingAsciiWhitespace(param0: string, param1: number, param2: number): number; - public static checkDuration(param0: string, param1: number, param2: java.util.concurrent.TimeUnit): number; - public static intersect(param0: java.util.Comparator, param1: native.Array, param2: native.Array): native.Array; - public static canonicalizeHost(param0: string): string; - public static toHeaders(param0: java.util.List): Headers; - public static concat(param0: native.Array, param1: string): native.Array; - public static addSuppressedIfPossible(param0: java.lang.Throwable, param1: java.lang.Throwable): void; - public static nonEmptyIntersection(param0: java.util.Comparator, param1: native.Array, param2: native.Array): boolean; - public static closeQuietly(param0: java.net.ServerSocket): void; - public static discard(param0: okio.Source, param1: number, param2: java.util.concurrent.TimeUnit): boolean; - public static threadFactory(param0: string, param1: boolean): java.util.concurrent.ThreadFactory; - public static skipLeadingAsciiWhitespace(param0: string, param1: number, param2: number): number; - public static isAndroidGetsocknameError(param0: java.lang.AssertionError): boolean; - public static skipAll(param0: okio.Source, param1: number, param2: java.util.concurrent.TimeUnit): boolean; - public static immutableList(param0: java.util.List): java.util.List; - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export class Version { - public static class: java.lang.Class; - public static userAgent(): string; - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace annotations { - export class EverythingIsNonNull { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.annotations.EverythingIsNonNull interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: {}); - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache { - export class CacheInterceptor extends Interceptor { - public static class: java.lang.Class; - public intercept(param0: Interceptor.Chain): Response; - public constructor(param0: InternalCache); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache { - export class CacheRequest { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.cache.CacheRequest interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { body(): okio.Sink; abort(): void }); - public constructor(); - public abort(): void; - public body(): okio.Sink; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache { - export class CacheStrategy { - public static class: java.lang.Class; - public networkRequest: Request; - public cacheResponse: Response; - public static isCacheable(param0: Response, param1: Request): boolean; - } - export namespace CacheStrategy { - export class Factory { - public static class: java.lang.Class; - public constructor(param0: number, param1: Request, param2: Response); - public get(): CacheStrategy; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache { - export class DiskLruCache { - public static class: java.lang.Class; - public remove(param0: string): boolean; - public close(): void; - public snapshots(): java.util.Iterator; - public isClosed(): boolean; - public getDirectory(): java.io.File; - public static create(param0: io.FileSystem, param1: java.io.File, param2: number, param3: number, param4: number): DiskLruCache; - public get(param0: string): DiskLruCache.Snapshot; - public size(): number; - public flush(): void; - public setMaxSize(param0: number): void; - public edit(param0: string): DiskLruCache.Editor; - public initialize(): void; - public delete(): void; - public getMaxSize(): number; - public evictAll(): void; - } - export namespace DiskLruCache { - export class Editor { - public static class: java.lang.Class; - public newSource(param0: number): okio.Source; - public commit(): void; - public newSink(param0: number): okio.Sink; - public abortUnlessCommitted(): void; - public abort(): void; - } - export class Entry { - public static class: java.lang.Class; - } - export class Snapshot { - public static class: java.lang.Class; - public close(): void; - public key(): string; - public getLength(param0: number): number; - public edit(): Editor; - public getSource(param0: number): okio.Source; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache { - export class FaultHidingSink { - public static class: java.lang.Class; - public close(): void; - public write(param0: okio.Buffer, param1: number): void; - public flush(): void; - public onException(param0: java.io.IOException): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache { - export class InternalCache { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.cache.InternalCache interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - get(param0: Request): Response; - put(param0: Response): CacheRequest; - remove(param0: Request): void; - update(param0: Response, param1: Response): void; - trackConditionalCacheHit(): void; - trackResponse(param0: CacheStrategy): void; - }); - public constructor(); - public put(param0: Response): CacheRequest; - public get(param0: Request): Response; - public remove(param0: Request): void; - public update(param0: Response, param1: Response): void; - public trackConditionalCacheHit(): void; - public trackResponse(param0: CacheStrategy): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache2 { - export class FileOperator { - public static class: java.lang.Class; - public write(param0: number, param1: okio.Buffer, param2: number): void; - public read(param0: number, param1: okio.Buffer, param2: number): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace cache2 { - export class Relay { - public static class: java.lang.Class; - public newSource(): okio.Source; - public metadata(): okio.ByteString; - public static edit(param0: java.io.File, param1: okio.Source, param2: okio.ByteString, param3: number): Relay; - public static read(param0: java.io.File): Relay; - } - export namespace Relay { - export class RelaySource { - public static class: java.lang.Class; - public close(): void; - public timeout(): okio.Timeout; - public read(param0: okio.Buffer, param1: number): number; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class ConnectInterceptor extends Interceptor { - public static class: java.lang.Class; - public client: OkHttpClient; - public constructor(param0: OkHttpClient); - public intercept(param0: Interceptor.Chain): Response; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class ConnectionSpecSelector { - public static class: java.lang.Class; - public constructor(param0: java.util.List); - public configureSecureSocket(param0: javax.net.ssl.SSLSocket): ConnectionSpec; - public connectionFailed(param0: java.io.IOException): boolean; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class RealConnection extends http2.Http2Connection.Listener implements Connection { - public static class: java.lang.Class; - public noNewStreams: boolean; - public successCount: number; - public allocationLimit: number; - public allocations: java.util.List>; - public idleAtNanos: number; - public onSettings(param0: http2.Http2Connection): void; - public connect(param0: number, param1: number, param2: number, param3: number, param4: boolean, param5: Call, param6: EventListener): void; - public isEligible(param0: Address, param1: Route): boolean; - public protocol(): Protocol; - public route(): Route; - public toString(): string; - public socket(): java.net.Socket; - public onStream(param0: http2.Http2Stream): void; - public constructor(); - public constructor(param0: ConnectionPool, param1: Route); - public isHealthy(param0: boolean): boolean; - public supportsUrl(param0: HttpUrl): boolean; - public newWebSocketStreams(param0: StreamAllocation): ws.RealWebSocket.Streams; - public cancel(): void; - public isMultiplexed(): boolean; - public static testConnection(param0: ConnectionPool, param1: Route, param2: java.net.Socket, param3: number): RealConnection; - public handshake(): Handshake; - public newCodec(param0: OkHttpClient, param1: Interceptor.Chain, param2: StreamAllocation): http.HttpCodec; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class RouteDatabase { - public static class: java.lang.Class; - public shouldPostpone(param0: Route): boolean; - public connected(param0: Route): void; - public failed(param0: Route): void; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class RouteException { - public static class: java.lang.Class; - public getLastConnectException(): java.io.IOException; - public constructor(param0: java.io.IOException); - public addConnectException(param0: java.io.IOException): void; - public getFirstConnectException(): java.io.IOException; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class RouteSelector { - public static class: java.lang.Class; - public next(): RouteSelector.Selection; - public constructor(param0: Address, param1: RouteDatabase, param2: Call, param3: EventListener); - public hasNext(): boolean; - public connectFailed(param0: Route, param1: java.io.IOException): void; - } - export namespace RouteSelector { - export class Selection { - public static class: java.lang.Class; - public getAll(): java.util.List; - public next(): Route; - public hasNext(): boolean; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace connection { - export class StreamAllocation { - public static class: java.lang.Class; - public address: Address; - public call: Call; - public eventListener: EventListener; - public streamFinished(param0: boolean, param1: http.HttpCodec, param2: number, param3: java.io.IOException): void; - public release(): void; - public codec(): http.HttpCodec; - public route(): Route; - public toString(): string; - public newStream(param0: OkHttpClient, param1: Interceptor.Chain, param2: boolean): http.HttpCodec; - public releaseAndAcquire(param0: RealConnection): java.net.Socket; - public noNewStreams(): void; - public acquire(param0: RealConnection, param1: boolean): void; - public cancel(): void; - public connection(): RealConnection; - public hasMoreRoutes(): boolean; - public constructor(param0: ConnectionPool, param1: Address, param2: Call, param3: EventListener, param4: any); - public streamFailed(param0: java.io.IOException): void; - } - export namespace StreamAllocation { - export class StreamAllocationReference extends java.lang.ref.WeakReference { - public static class: java.lang.Class; - public callStackTrace: any; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class BridgeInterceptor extends Interceptor { - public static class: java.lang.Class; - public intercept(param0: Interceptor.Chain): Response; - public constructor(param0: CookieJar); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class CallServerInterceptor extends Interceptor { - public static class: java.lang.Class; - public intercept(param0: Interceptor.Chain): Response; - public constructor(param0: boolean); - } - export namespace CallServerInterceptor { - export class CountingSink { - public static class: java.lang.Class; - public write(param0: okio.Buffer, param1: number): void; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class HttpCodec { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.http.HttpCodec interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - createRequestBody(param0: Request, param1: number): okio.Sink; - writeRequestHeaders(param0: Request): void; - flushRequest(): void; - finishRequest(): void; - readResponseHeaders(param0: boolean): Response.Builder; - openResponseBody(param0: Response): ResponseBody; - cancel(): void; - }); - public constructor(); - public static DISCARD_STREAM_TIMEOUT_MILLIS: number; - public finishRequest(): void; - public openResponseBody(param0: Response): ResponseBody; - public readResponseHeaders(param0: boolean): Response.Builder; - public cancel(): void; - public flushRequest(): void; - public createRequestBody(param0: Request, param1: number): okio.Sink; - public writeRequestHeaders(param0: Request): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class HttpDate { - public static class: java.lang.Class; - public static MAX_DATE: number; - public static parse(param0: string): java.util.Date; - public static format(param0: java.util.Date): string; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class HttpHeaders { - public static class: java.lang.Class; - public static varyHeaders(param0: Headers, param1: Headers): Headers; - public static hasBody(param0: Response): boolean; - public static receiveHeaders(param0: CookieJar, param1: HttpUrl, param2: Headers): void; - public static varyHeaders(param0: Response): Headers; - public static varyMatches(param0: Response, param1: Headers, param2: Request): boolean; - public static skipWhitespace(param0: string, param1: number): number; - public static hasVaryAll(param0: Headers): boolean; - public static contentLength(param0: Response): number; - public static hasVaryAll(param0: Response): boolean; - public static skipUntil(param0: string, param1: number, param2: string): number; - public static varyFields(param0: Headers): java.util.Set; - public static contentLength(param0: Headers): number; - public static parseChallenges(param0: Headers, param1: string): java.util.List; - public static parseSeconds(param0: string, param1: number): number; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class HttpMethod { - public static class: java.lang.Class; - public static invalidatesCache(param0: string): boolean; - public static requiresRequestBody(param0: string): boolean; - public static permitsRequestBody(param0: string): boolean; - public static redirectsWithBody(param0: string): boolean; - public static redirectsToGet(param0: string): boolean; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class RealInterceptorChain extends Interceptor.Chain { - public static class: java.lang.Class; - public request(): Request; - public httpStream(): HttpCodec; - public connectTimeoutMillis(): number; - public constructor( - param0: java.util.List, - param1: connection.StreamAllocation, - param2: HttpCodec, - param3: connection.RealConnection, - param4: number, - param5: Request, - param6: Call, - param7: EventListener, - param8: number, - param9: number, - param10: number - ); - public proceed(param0: Request, param1: connection.StreamAllocation, param2: HttpCodec, param3: connection.RealConnection): Response; - public withWriteTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Interceptor.Chain; - public connection(): Connection; - public writeTimeoutMillis(): number; - public readTimeoutMillis(): number; - public call(): Call; - public withConnectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Interceptor.Chain; - public proceed(param0: Request): Response; - public eventListener(): EventListener; - public withReadTimeout(param0: number, param1: java.util.concurrent.TimeUnit): Interceptor.Chain; - public streamAllocation(): connection.StreamAllocation; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class RealResponseBody extends ResponseBody { - public static class: java.lang.Class; - public contentLength(): number; - public constructor(param0: string, param1: number, param2: okio.BufferedSource); - public source(): okio.BufferedSource; - public contentType(): MediaType; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class RequestLine { - public static class: java.lang.Class; - public static requestPath(param0: HttpUrl): string; - public static get(param0: Request, param1: java.net.Proxy.Type): string; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class RetryAndFollowUpInterceptor extends Interceptor { - public static class: java.lang.Class; - public isCanceled(): boolean; - public setCallStackTrace(param0: any): void; - public intercept(param0: Interceptor.Chain): Response; - public constructor(param0: OkHttpClient, param1: boolean); - public cancel(): void; - public streamAllocation(): connection.StreamAllocation; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class StatusLine { - public static class: java.lang.Class; - public static HTTP_TEMP_REDIRECT: number; - public static HTTP_PERM_REDIRECT: number; - public static HTTP_CONTINUE: number; - public protocol: Protocol; - public code: number; - public message: string; - public constructor(param0: Protocol, param1: number, param2: string); - public static parse(param0: string): StatusLine; - public toString(): string; - public static get(param0: Response): StatusLine; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http { - export class UnrepeatableRequestBody { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.http.UnrepeatableRequestBody interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: {}); - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http1 { - export class Http1Codec extends http.HttpCodec { - public static class: java.lang.Class; - public finishRequest(): void; - public newFixedLengthSink(param0: number): okio.Sink; - public newChunkedSink(): okio.Sink; - public constructor(param0: OkHttpClient, param1: connection.StreamAllocation, param2: okio.BufferedSource, param3: okio.BufferedSink); - public isClosed(): boolean; - public readResponseHeaders(param0: boolean): Response.Builder; - public writeRequestHeaders(param0: Request): void; - public writeRequest(param0: Headers, param1: string): void; - public openResponseBody(param0: Response): ResponseBody; - public newUnknownLengthSource(): okio.Source; - public readHeaders(): Headers; - public newChunkedSource(param0: HttpUrl): okio.Source; - public cancel(): void; - public flushRequest(): void; - public createRequestBody(param0: Request, param1: number): okio.Sink; - public newFixedLengthSource(param0: number): okio.Source; - } - export namespace Http1Codec { - export abstract class AbstractSource { - public static class: java.lang.Class; - public closed: boolean; - public bytesRead: number; - public endOfInput(param0: boolean, param1: java.io.IOException): void; - public timeout(): okio.Timeout; - public read(param0: okio.Buffer, param1: number): number; - } - export class ChunkedSink { - public static class: java.lang.Class; - public close(): void; - public flush(): void; - public write(param0: okio.Buffer, param1: number): void; - public timeout(): okio.Timeout; - } - export class ChunkedSource extends AbstractSource { - public static class: java.lang.Class; - public close(): void; - public read(param0: okio.Buffer, param1: number): number; - } - export class FixedLengthSink { - public static class: java.lang.Class; - public close(): void; - public flush(): void; - public write(param0: okio.Buffer, param1: number): void; - public timeout(): okio.Timeout; - } - export class FixedLengthSource extends AbstractSource { - public static class: java.lang.Class; - public close(): void; - public read(param0: okio.Buffer, param1: number): number; - } - export class UnknownLengthSource extends AbstractSource { - public static class: java.lang.Class; - public close(): void; - public read(param0: okio.Buffer, param1: number): number; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class ConnectionShutdownException { - public static class: java.lang.Class; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class ErrorCode { - public static class: java.lang.Class; - public static NO_ERROR: ErrorCode; - public static PROTOCOL_ERROR: ErrorCode; - public static INTERNAL_ERROR: ErrorCode; - public static FLOW_CONTROL_ERROR: ErrorCode; - public static REFUSED_STREAM: ErrorCode; - public static CANCEL: ErrorCode; - public static COMPRESSION_ERROR: ErrorCode; - public static CONNECT_ERROR: ErrorCode; - public static ENHANCE_YOUR_CALM: ErrorCode; - public static INADEQUATE_SECURITY: ErrorCode; - public static HTTP_1_1_REQUIRED: ErrorCode; - public httpCode: number; - public static valueOf(param0: string): ErrorCode; - public static fromHttp2(param0: number): ErrorCode; - public static values(): native.Array; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Header { - public static class: java.lang.Class
; - public static PSEUDO_PREFIX: okio.ByteString; - public static RESPONSE_STATUS_UTF8: string; - public static TARGET_METHOD_UTF8: string; - public static TARGET_PATH_UTF8: string; - public static TARGET_SCHEME_UTF8: string; - public static TARGET_AUTHORITY_UTF8: string; - public static RESPONSE_STATUS: okio.ByteString; - public static TARGET_METHOD: okio.ByteString; - public static TARGET_PATH: okio.ByteString; - public static TARGET_SCHEME: okio.ByteString; - public static TARGET_AUTHORITY: okio.ByteString; - public name: okio.ByteString; - public value: okio.ByteString; - public constructor(param0: okio.ByteString, param1: okio.ByteString); - public hashCode(): number; - public equals(param0: any): boolean; - public constructor(param0: okio.ByteString, param1: string); - public toString(): string; - public constructor(param0: string, param1: string); - } - export namespace Header { - export class Listener { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.http2.Header$Listener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { onHeaders(param0: Headers): void }); - public constructor(); - public onHeaders(param0: Headers): void; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Hpack { - public static class: java.lang.Class; - } - export namespace Hpack { - export class Reader { - public static class: java.lang.Class; - public getAndResetHeaderList(): java.util.List
; - } - export class Writer { - public static class: java.lang.Class; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Http2 { - public static class: java.lang.Class; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Http2Codec extends http.HttpCodec { - public static class: java.lang.Class; - public finishRequest(): void; - public static readHttp2HeadersList(param0: Headers, param1: Protocol): Response.Builder; - public openResponseBody(param0: Response): ResponseBody; - public readResponseHeaders(param0: boolean): Response.Builder; - public cancel(): void; - public constructor(param0: OkHttpClient, param1: Interceptor.Chain, param2: connection.StreamAllocation, param3: Http2Connection); - public flushRequest(): void; - public createRequestBody(param0: Request, param1: number): okio.Sink; - public writeRequestHeaders(param0: Request): void; - public static http2HeadersList(param0: Request): java.util.List
; - } - export namespace Http2Codec { - export class StreamFinishingSource { - public static class: java.lang.Class; - public close(): void; - public read(param0: okio.Buffer, param1: number): number; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Http2Connection { - public static class: java.lang.Class; - public maxConcurrentStreams(): number; - public pushStream(param0: number, param1: java.util.List
, param2: boolean): Http2Stream; - public writeData(param0: number, param1: boolean, param2: okio.Buffer, param3: number): void; - public close(): void; - public start(): void; - public newStream(param0: java.util.List
, param1: boolean): Http2Stream; - public isShutdown(): boolean; - public openStreamCount(): number; - public shutdown(param0: ErrorCode): void; - public setSettings(param0: Settings): void; - public getProtocol(): Protocol; - public flush(): void; - } - export namespace Http2Connection { - export class Builder { - public static class: java.lang.Class; - public constructor(param0: boolean); - public listener(param0: Listener): Builder; - public pingIntervalMillis(param0: number): Builder; - public build(): Http2Connection; - public socket(param0: java.net.Socket, param1: string, param2: okio.BufferedSource, param3: okio.BufferedSink): Builder; - public socket(param0: java.net.Socket): Builder; - public pushObserver(param0: PushObserver): Builder; - } - export abstract class Listener { - public static class: java.lang.Class; - public static REFUSE_INCOMING_STREAMS: Listener; - public onStream(param0: Http2Stream): void; - public constructor(); - public onSettings(param0: Http2Connection): void; - } - export class PingRunnable extends NamedRunnable { - public static class: java.lang.Class; - public execute(): void; - } - export class ReaderRunnable extends NamedRunnable implements Http2Reader.Handler { - public static class: java.lang.Class; - public settings(param0: boolean, param1: Settings): void; - public alternateService(param0: number, param1: string, param2: okio.ByteString, param3: string, param4: number, param5: number): void; - public ackSettings(): void; - public data(param0: boolean, param1: number, param2: okio.BufferedSource, param3: number): void; - public headers(param0: boolean, param1: number, param2: number, param3: java.util.List
): void; - public priority(param0: number, param1: number, param2: number, param3: boolean): void; - public execute(): void; - public pushPromise(param0: number, param1: number, param2: java.util.List
): void; - public rstStream(param0: number, param1: ErrorCode): void; - public goAway(param0: number, param1: ErrorCode, param2: okio.ByteString): void; - public windowUpdate(param0: number, param1: number): void; - public ping(param0: boolean, param1: number, param2: number): void; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Http2Reader { - public static class: java.lang.Class; - public close(): void; - public nextFrame(param0: boolean, param1: Http2Reader.Handler): boolean; - public readConnectionPreface(param0: Http2Reader.Handler): void; - } - export namespace Http2Reader { - export class ContinuationSource { - public static class: java.lang.Class; - public close(): void; - public timeout(): okio.Timeout; - public read(param0: okio.Buffer, param1: number): number; - } - export class Handler { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.http2.Http2Reader$Handler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - data(param0: boolean, param1: number, param2: okio.BufferedSource, param3: number): void; - headers(param0: boolean, param1: number, param2: number, param3: java.util.List
): void; - rstStream(param0: number, param1: ErrorCode): void; - settings(param0: boolean, param1: Settings): void; - ackSettings(): void; - ping(param0: boolean, param1: number, param2: number): void; - goAway(param0: number, param1: ErrorCode, param2: okio.ByteString): void; - windowUpdate(param0: number, param1: number): void; - priority(param0: number, param1: number, param2: number, param3: boolean): void; - pushPromise(param0: number, param1: number, param2: java.util.List
): void; - alternateService(param0: number, param1: string, param2: okio.ByteString, param3: string, param4: number, param5: number): void; - }); - public constructor(); - public settings(param0: boolean, param1: Settings): void; - public alternateService(param0: number, param1: string, param2: okio.ByteString, param3: string, param4: number, param5: number): void; - public ackSettings(): void; - public data(param0: boolean, param1: number, param2: okio.BufferedSource, param3: number): void; - public headers(param0: boolean, param1: number, param2: number, param3: java.util.List
): void; - public priority(param0: number, param1: number, param2: number, param3: boolean): void; - public pushPromise(param0: number, param1: number, param2: java.util.List
): void; - public rstStream(param0: number, param1: ErrorCode): void; - public goAway(param0: number, param1: ErrorCode, param2: okio.ByteString): void; - public windowUpdate(param0: number, param1: number): void; - public ping(param0: boolean, param1: number, param2: number): void; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Http2Stream { - public static class: java.lang.Class; - public getSource(): okio.Source; - public close(param0: ErrorCode): void; - public closeLater(param0: ErrorCode): void; - public writeTimeout(): okio.Timeout; - public getId(): number; - public writeHeaders(param0: java.util.List
, param1: boolean): void; - public getErrorCode(): ErrorCode; - public takeHeaders(): Headers; - public getConnection(): Http2Connection; - public isOpen(): boolean; - public readTimeout(): okio.Timeout; - public getSink(): okio.Sink; - public isLocallyInitiated(): boolean; - public setHeadersListener(param0: Header.Listener): void; - } - export namespace Http2Stream { - export class FramingSink { - public static class: java.lang.Class; - public close(): void; - public flush(): void; - public write(param0: okio.Buffer, param1: number): void; - public timeout(): okio.Timeout; - } - export class FramingSource { - public static class: java.lang.Class; - public close(): void; - public timeout(): okio.Timeout; - public read(param0: okio.Buffer, param1: number): number; - } - export class StreamTimeout { - public static class: java.lang.Class; - public timedOut(): void; - public newTimeoutException(param0: java.io.IOException): java.io.IOException; - public exitAndThrowIfTimedOut(): void; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Http2Writer { - public static class: java.lang.Class; - public headers(param0: number, param1: java.util.List
): void; - public close(): void; - public synStream(param0: boolean, param1: number, param2: number, param3: java.util.List
): void; - public settings(param0: Settings): void; - public ping(param0: boolean, param1: number, param2: number): void; - public windowUpdate(param0: number, param1: number): void; - public frameHeader(param0: number, param1: number, param2: number, param3: number): void; - public maxDataLength(): number; - public goAway(param0: number, param1: ErrorCode, param2: native.Array): void; - public flush(): void; - public connectionPreface(): void; - public pushPromise(param0: number, param1: number, param2: java.util.List
): void; - public data(param0: boolean, param1: number, param2: okio.Buffer, param3: number): void; - public rstStream(param0: number, param1: ErrorCode): void; - public synReply(param0: boolean, param1: number, param2: java.util.List
): void; - public applyAndAckSettings(param0: Settings): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Huffman { - public static class: java.lang.Class; - public static get(): Huffman; - } - export namespace Huffman { - export class Node { - public static class: java.lang.Class; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class PushObserver { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.http2.PushObserver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - onRequest(param0: number, param1: java.util.List
): boolean; - onHeaders(param0: number, param1: java.util.List
, param2: boolean): boolean; - onData(param0: number, param1: okio.BufferedSource, param2: number, param3: boolean): boolean; - onReset(param0: number, param1: ErrorCode): void; - (): void; - }); - public constructor(); - public static CANCEL: PushObserver; - public onRequest(param0: number, param1: java.util.List
): boolean; - public onHeaders(param0: number, param1: java.util.List
, param2: boolean): boolean; - public onData(param0: number, param1: okio.BufferedSource, param2: number, param3: boolean): boolean; - public onReset(param0: number, param1: ErrorCode): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class Settings { - public static class: java.lang.Class; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace http2 { - export class StreamResetException { - public static class: java.lang.Class; - public errorCode: ErrorCode; - public constructor(param0: ErrorCode); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace io { - export class FileSystem { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.io.FileSystem interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - source(param0: java.io.File): okio.Source; - sink(param0: java.io.File): okio.Sink; - appendingSink(param0: java.io.File): okio.Sink; - delete(param0: java.io.File): void; - exists(param0: java.io.File): boolean; - size(param0: java.io.File): number; - rename(param0: java.io.File, param1: java.io.File): void; - deleteContents(param0: java.io.File): void; - (): void; - }); - public constructor(); - public static SYSTEM: FileSystem; - public source(param0: java.io.File): okio.Source; - public size(param0: java.io.File): number; - public deleteContents(param0: java.io.File): void; - public appendingSink(param0: java.io.File): okio.Sink; - public sink(param0: java.io.File): okio.Sink; - public exists(param0: java.io.File): boolean; - public rename(param0: java.io.File, param1: java.io.File): void; - public delete(param0: java.io.File): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace platform { - export class AndroidPlatform extends Platform { - public static class: java.lang.Class; - public connectSocket(param0: java.net.Socket, param1: java.net.InetSocketAddress, param2: number): void; - public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; - public log(param0: number, param1: string, param2: java.lang.Throwable): void; - public logCloseableLeak(param0: string, param1: any): void; - public buildTrustRootIndex(param0: javax.net.ssl.X509TrustManager): tls.TrustRootIndex; - public isCleartextTrafficPermitted(param0: string): boolean; - public buildCertificateChainCleaner(param0: javax.net.ssl.X509TrustManager): tls.CertificateChainCleaner; - public buildCertificateChainCleaner(param0: javax.net.ssl.SSLSocketFactory): tls.CertificateChainCleaner; - public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; - public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; - public getStackTraceForCloseable(param0: string): any; - public static buildIfSupported(): Platform; - public getSSLContext(): javax.net.ssl.SSLContext; - } - export namespace AndroidPlatform { - export class AndroidCertificateChainCleaner extends tls.CertificateChainCleaner { - public static class: java.lang.Class; - public equals(param0: any): boolean; - public clean(param0: java.util.List, param1: string): java.util.List; - public hashCode(): number; - } - export class AndroidTrustRootIndex extends tls.TrustRootIndex { - public static class: java.lang.Class; - public equals(param0: any): boolean; - public findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; - public hashCode(): number; - } - export class CloseGuard { - public static class: java.lang.Class; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace platform { - export class ConscryptPlatform extends Platform { - public static class: java.lang.Class; - public static buildIfSupported(): ConscryptPlatform; - public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; - public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; - public configureSslSocketFactory(param0: javax.net.ssl.SSLSocketFactory): void; - public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; - public getSSLContext(): javax.net.ssl.SSLContext; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace platform { - export class Jdk9Platform extends Platform { - public static class: java.lang.Class; - public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; - public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; - public static buildIfSupported(): Jdk9Platform; - public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace platform { - export class JdkWithJettyBootPlatform extends Platform { - public static class: java.lang.Class; - public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; - public afterHandshake(param0: javax.net.ssl.SSLSocket): void; - public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; - public static buildIfSupported(): Platform; - } - export namespace JdkWithJettyBootPlatform { - export class JettyNegoProvider { - public static class: java.lang.Class; - public invoke(param0: any, param1: java.lang.reflect.Method, param2: native.Array): any; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace platform { - export class OptionalMethod extends java.lang.Object { - public static class: java.lang.Class>; - public invokeOptional(param0: T, param1: native.Array): any; - public invokeOptionalWithoutCheckedException(param0: T, param1: native.Array): any; - public isSupported(param0: T): boolean; - public invoke(param0: T, param1: native.Array): any; - public invokeWithoutCheckedException(param0: T, param1: native.Array): any; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace platform { - export class Platform { - public static class: java.lang.Class; - public static INFO: number; - public static WARN: number; - public getPrefix(): string; - public connectSocket(param0: java.net.Socket, param1: java.net.InetSocketAddress, param2: number): void; - public configureSslSocketFactory(param0: javax.net.ssl.SSLSocketFactory): void; - public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; - public static isConscryptPreferred(): boolean; - public log(param0: number, param1: string, param2: java.lang.Throwable): void; - public logCloseableLeak(param0: string, param1: any): void; - public buildTrustRootIndex(param0: javax.net.ssl.X509TrustManager): tls.TrustRootIndex; - public toString(): string; - public isCleartextTrafficPermitted(param0: string): boolean; - public constructor(); - public buildCertificateChainCleaner(param0: javax.net.ssl.X509TrustManager): tls.CertificateChainCleaner; - public buildCertificateChainCleaner(param0: javax.net.ssl.SSLSocketFactory): tls.CertificateChainCleaner; - public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; - public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; - public afterHandshake(param0: javax.net.ssl.SSLSocket): void; - public static get(): Platform; - public getStackTraceForCloseable(param0: string): any; - public static alpnProtocolNames(param0: java.util.List): java.util.List; - public getSSLContext(): javax.net.ssl.SSLContext; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace proxy { - export class NullProxySelector { - public static class: java.lang.Class; - public select(param0: java.net.URI): java.util.List; - public connectFailed(param0: java.net.URI, param1: java.net.SocketAddress, param2: java.io.IOException): void; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace publicsuffix { - export class PublicSuffixDatabase { - public static class: java.lang.Class; - public static PUBLIC_SUFFIX_RESOURCE: string; - public static get(): PublicSuffixDatabase; - public getEffectiveTldPlusOne(param0: string): string; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace tls { - export class BasicCertificateChainCleaner extends CertificateChainCleaner { - public static class: java.lang.Class; - public clean(param0: java.util.List, param1: string): java.util.List; - public hashCode(): number; - public equals(param0: any): boolean; - public constructor(param0: TrustRootIndex); - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace tls { - export class BasicTrustRootIndex extends TrustRootIndex { - public static class: java.lang.Class; - public constructor(param0: native.Array); - public hashCode(): number; - public equals(param0: any): boolean; - public findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace tls { - export abstract class CertificateChainCleaner { - public static class: java.lang.Class; - public static get(param0: javax.net.ssl.X509TrustManager): CertificateChainCleaner; - public clean(param0: java.util.List, param1: string): java.util.List; - public static get(param0: native.Array): CertificateChainCleaner; - public constructor(); - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace tls { - export class DistinguishedNameParser { - public static class: java.lang.Class; - public findMostSpecific(param0: string): string; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace tls { - export class OkHostnameVerifier { - public static class: java.lang.Class; - public static INSTANCE: OkHostnameVerifier; - public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean; - public verifyHostname(param0: string, param1: string): boolean; - public static allSubjectAltNames(param0: java.security.cert.X509Certificate): java.util.List; - public verify(param0: string, param1: java.security.cert.X509Certificate): boolean; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace tls { - export class TrustRootIndex { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.tls.TrustRootIndex interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate }); - public constructor(); - public findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace ws { - export class RealWebSocket implements WebSocket, WebSocketReader.FrameCallback { - public static class: java.lang.Class; - public constructor(param0: Request, param1: WebSocketListener, param2: java.util.Random, param3: number); - public request(): Request; - public send(param0: string): boolean; - public onReadPong(param0: okio.ByteString): void; - public onReadPing(param0: okio.ByteString): void; - public initReaderAndWriter(param0: string, param1: RealWebSocket.Streams): void; - public queueSize(): number; - public close(param0: number, param1: string): boolean; - public loopReader(): void; - public send(param0: okio.ByteString): boolean; - public onReadMessage(param0: okio.ByteString): void; - public failWebSocket(param0: java.lang.Exception, param1: Response): void; - public cancel(): void; - public connect(param0: OkHttpClient): void; - public onReadClose(param0: number, param1: string): void; - public onReadMessage(param0: string): void; - } - export namespace RealWebSocket { - export class CancelRunnable { - public static class: java.lang.Class; - public run(): void; - } - export class Close { - public static class: java.lang.Class; - } - export class Message { - public static class: java.lang.Class; - } - export class PingRunnable { - public static class: java.lang.Class; - public run(): void; - } - export abstract class Streams { - public static class: java.lang.Class; - public client: boolean; - public source: okio.BufferedSource; - public sink: okio.BufferedSink; - public constructor(param0: boolean, param1: okio.BufferedSource, param2: okio.BufferedSink); - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace ws { - export class WebSocketProtocol { - public static class: java.lang.Class; - public static acceptHeader(param0: string): string; - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace ws { - export class WebSocketReader { - public static class: java.lang.Class; - } - export namespace WebSocketReader { - export class FrameCallback { - public static class: java.lang.Class; - /** - * Constructs a new instance of the okhttp3.internal.ws.WebSocketReader$FrameCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. - */ - public constructor(implementation: { - onReadMessage(param0: string): void; - onReadMessage(param0: okio.ByteString): void; - onReadPing(param0: okio.ByteString): void; - onReadPong(param0: okio.ByteString): void; - onReadClose(param0: number, param1: string): void; - }); - public constructor(); - public onReadClose(param0: number, param1: string): void; - public onReadMessage(param0: string): void; - public onReadMessage(param0: okio.ByteString): void; - public onReadPing(param0: okio.ByteString): void; - public onReadPong(param0: okio.ByteString): void; - } - } - } - } -} - -declare namespace okhttp3 { - export namespace internal { - export namespace ws { - export class WebSocketWriter { - public static class: java.lang.Class; - } - export namespace WebSocketWriter { - export class FrameSink { - public static class: java.lang.Class; - public close(): void; - public flush(): void; - public write(param0: okio.Buffer, param1: number): void; - public timeout(): okio.Timeout; - } - } - } - } -} - -//Generics information: -//okhttp3.internal.platform.OptionalMethod:1 +declare module okhttp3 { + export class Address extends java.lang.Object { + public static class: java.lang.Class; + + + public proxy(): java.net.Proxy; + public equals(param0: any): boolean; + public sslSocketFactory(): javax.net.ssl.SSLSocketFactory; + public equalsNonHost$okhttp(param0: okhttp3.Address): boolean; + + public certificatePinner(): okhttp3.CertificatePinner; + + public protocols(): java.util.List; + public dns(): okhttp3.Dns; + public proxyAuthenticator(): okhttp3.Authenticator; + public hostnameVerifier(): javax.net.ssl.HostnameVerifier; + public hashCode(): number; + public constructor(param0: string, param1: number, param2: okhttp3.Dns, param3: javax.net.SocketFactory, param4: javax.net.ssl.SSLSocketFactory, param5: javax.net.ssl.HostnameVerifier, param6: okhttp3.CertificatePinner, param7: okhttp3.Authenticator, param8: java.net.Proxy, param9: java.util.List, param10: java.util.List, param11: java.net.ProxySelector); + public connectionSpecs(): java.util.List; + + + + public proxySelector(): java.net.ProxySelector; + public url(): okhttp3.HttpUrl; + public toString(): string; + + + public socketFactory(): javax.net.SocketFactory; + + + } +} + +declare module okhttp3 { + export class Authenticator extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Authenticator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + authenticate(param0: okhttp3.Route, param1: okhttp3.Response): okhttp3.Request; + (): void; + }); + public constructor(); + public static NONE: okhttp3.Authenticator; + public static JAVA_NET_AUTHENTICATOR: okhttp3.Authenticator; + public authenticate(param0: okhttp3.Route, param1: okhttp3.Response): okhttp3.Request; + } + export module Authenticator { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export module Companion { + export class AuthenticatorNone extends java.lang.Object implements okhttp3.Authenticator { + public static class: java.lang.Class; + public authenticate(param0: okhttp3.Route, param1: okhttp3.Response): okhttp3.Request; + public constructor(); + } + } + } +} + +declare module okhttp3 { + export class Cache extends java.lang.Object implements java.io.Closeable, java.io.Flushable { + public static class: java.lang.Class; + public trackConditionalCacheHit$okhttp(): void; + public close(): void; + public directory(): java.io.File; + public writeAbortCount(): number; + public constructor(param0: java.io.File, param1: number); + public constructor(param0: java.io.File, param1: number, param2: okhttp3.internal.io.FileSystem); + + public isClosed(): boolean; + public delete(): void; + public put$okhttp(param0: okhttp3.Response): okhttp3.internal.cache.CacheRequest; + public size(): number; + public update$okhttp(param0: okhttp3.Response, param1: okhttp3.Response): void; + public trackResponse$okhttp(param0: okhttp3.internal.cache.CacheStrategy): void; + public urls(): java.util.Iterator; + public maxSize(): number; + public getWriteSuccessCount$okhttp(): number; + public getCache$okhttp(): okhttp3.internal.cache.DiskLruCache; + public get$okhttp(param0: okhttp3.Request): okhttp3.Response; + public static key(param0: okhttp3.HttpUrl): string; + public setWriteAbortCount$okhttp(param0: number): void; + public setWriteSuccessCount$okhttp(param0: number): void; + public evictAll(): void; + public networkCount(): number; + public getWriteAbortCount$okhttp(): number; + public requestCount(): number; + public flush(): void; + public remove$okhttp(param0: okhttp3.Request): void; + public initialize(): void; + public writeSuccessCount(): number; + public hitCount(): number; + } + export module Cache { + export class CacheResponseBody extends okhttp3.ResponseBody { + public static class: java.lang.Class; + public getSnapshot(): okhttp3.internal.cache.DiskLruCache.Snapshot; + public contentLength(): number; + public source(): okio.BufferedSource; + public contentType(): okhttp3.MediaType; + public constructor(); + public close(): void; + public constructor(param0: okhttp3.internal.cache.DiskLruCache.Snapshot, param1: string, param2: string); + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public varyMatches(param0: okhttp3.Response, param1: okhttp3.Headers, param2: okhttp3.Request): boolean; + public readInt$okhttp(param0: okio.BufferedSource): number; + public varyHeaders(param0: okhttp3.Response): okhttp3.Headers; + public key(param0: okhttp3.HttpUrl): string; + public hasVaryAll(param0: okhttp3.Response): boolean; + } + export class Entry extends java.lang.Object { + public static class: java.lang.Class; + public matches(param0: okhttp3.Request, param1: okhttp3.Response): boolean; + public constructor(param0: okhttp3.Response); + public constructor(param0: okio.Source); + public response(param0: okhttp3.internal.cache.DiskLruCache.Snapshot): okhttp3.Response; + public writeTo(param0: okhttp3.internal.cache.DiskLruCache.Editor): void; + } + export module Entry { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + export class RealCacheRequest extends java.lang.Object implements okhttp3.internal.cache.CacheRequest { + public static class: java.lang.Class; + public getDone(): boolean; + public body(): okio.Sink; + public setDone(param0: boolean): void; + public abort(): void; + public constructor(param0: okhttp3.internal.cache.DiskLruCache.Editor); + } + } +} + +declare module okhttp3 { + export class CacheControl extends java.lang.Object { + public static class: java.lang.Class; + public static FORCE_NETWORK: okhttp3.CacheControl; + public static FORCE_CACHE: okhttp3.CacheControl; + + public maxStaleSeconds(): number; + public toString(): string; + public mustRevalidate(): boolean; + public static parse(param0: okhttp3.Headers): okhttp3.CacheControl; + + + + + public minFreshSeconds(): number; + public onlyIfCached(): boolean; + public noCache(): boolean; + public noTransform(): boolean; + + + public isPrivate(): boolean; + + public immutable(): boolean; + + public sMaxAgeSeconds(): number; + + public noStore(): boolean; + public maxAgeSeconds(): number; + public isPublic(): boolean; + } + export module CacheControl { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public noCache(): okhttp3.CacheControl.Builder; + public maxStale(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.CacheControl.Builder; + public immutable(): okhttp3.CacheControl.Builder; + public onlyIfCached(): okhttp3.CacheControl.Builder; + public minFresh(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.CacheControl.Builder; + public maxAge(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.CacheControl.Builder; + public build(): okhttp3.CacheControl; + public constructor(); + public noStore(): okhttp3.CacheControl.Builder; + public noTransform(): okhttp3.CacheControl.Builder; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public parse(param0: okhttp3.Headers): okhttp3.CacheControl; + } + } +} + +declare module okhttp3 { + export class Call extends java.lang.Object implements java.lang.Cloneable { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Call interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + request(): okhttp3.Request; + execute(): okhttp3.Response; + enqueue(param0: okhttp3.Callback): void; + cancel(): void; + isExecuted(): boolean; + isCanceled(): boolean; + timeout(): okio.Timeout; + clone(): okhttp3.Call; + }); + public constructor(); + public isExecuted(): boolean; + public clone(): okhttp3.Call; + public request(): okhttp3.Request; + public execute(): okhttp3.Response; + public isCanceled(): boolean; + public clone(): any; + public enqueue(param0: okhttp3.Callback): void; + public cancel(): void; + public timeout(): okio.Timeout; + } + export module Call { + export class Factory extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Call$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + newCall(param0: okhttp3.Request): okhttp3.Call; + }); + public constructor(); + public newCall(param0: okhttp3.Request): okhttp3.Call; + } + } +} + +declare module okhttp3 { + export class Callback extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + onFailure(param0: okhttp3.Call, param1: java.io.IOException): void; + onResponse(param0: okhttp3.Call, param1: okhttp3.Response): void; + }); + public constructor(); + public onResponse(param0: okhttp3.Call, param1: okhttp3.Response): void; + public onFailure(param0: okhttp3.Call, param1: java.io.IOException): void; + } +} + +declare module okhttp3 { + export class CertificatePinner extends java.lang.Object { + public static class: java.lang.Class; + public static DEFAULT: okhttp3.CertificatePinner; + public equals(param0: any): boolean; + /** @deprecated */ + public check(param0: string, param1: androidNative.Array): void; + public static sha256Hash(param0: java.security.cert.X509Certificate): okio.ByteString; + public check$okhttp(param0: string, param1: any): void; + public getCertificateChainCleaner$okhttp(): okhttp3.internal.tls.CertificateChainCleaner; + public static sha1Hash(param0: java.security.cert.X509Certificate): okio.ByteString; + public withCertificateChainCleaner$okhttp(param0: okhttp3.internal.tls.CertificateChainCleaner): okhttp3.CertificatePinner; + public static pin(param0: java.security.cert.Certificate): string; + public findMatchingPins(param0: string): java.util.List; + public hashCode(): number; + public check(param0: string, param1: java.util.List): void; + public constructor(param0: java.util.Set, param1: okhttp3.internal.tls.CertificateChainCleaner); + public getPins(): java.util.Set; + } + export module CertificatePinner { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public build(): okhttp3.CertificatePinner; + public constructor(); + public getPins(): java.util.List; + public add(param0: string, param1: androidNative.Array): okhttp3.CertificatePinner.Builder; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public sha1Hash(param0: java.security.cert.X509Certificate): okio.ByteString; + public sha256Hash(param0: java.security.cert.X509Certificate): okio.ByteString; + public pin(param0: java.security.cert.Certificate): string; + } + export class Pin extends java.lang.Object { + public static class: java.lang.Class; + public constructor(param0: string, param1: string); + public matchesHostname(param0: string): boolean; + public equals(param0: any): boolean; + public toString(): string; + public matchesCertificate(param0: java.security.cert.X509Certificate): boolean; + public getHash(): okio.ByteString; + public getHashAlgorithm(): string; + public getPattern(): string; + public hashCode(): number; + } + } +} + +declare module okhttp3 { + export class Challenge extends java.lang.Object { + public static class: java.lang.Class; + public equals(param0: any): boolean; + public scheme(): string; + + public toString(): string; + public constructor(param0: string, param1: java.util.Map); + public withCharset(param0: java.nio.charset.Charset): okhttp3.Challenge; + public realm(): string; + public constructor(param0: string, param1: string); + public authParams(): java.util.Map; + public charset(): java.nio.charset.Charset; + + + public hashCode(): number; + + } +} + +declare module okhttp3 { + export class CipherSuite extends java.lang.Object { + public static class: java.lang.Class; + public static TLS_RSA_WITH_NULL_MD5: okhttp3.CipherSuite; + public static TLS_RSA_WITH_NULL_SHA: okhttp3.CipherSuite; + public static TLS_RSA_EXPORT_WITH_RC4_40_MD5: okhttp3.CipherSuite; + public static TLS_RSA_WITH_RC4_128_MD5: okhttp3.CipherSuite; + public static TLS_RSA_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_RSA_EXPORT_WITH_DES40_CBC_SHA: okhttp3.CipherSuite; + public static TLS_RSA_WITH_DES_CBC_SHA: okhttp3.CipherSuite; + public static TLS_RSA_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_DES_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_DES_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DH_anon_EXPORT_WITH_RC4_40_MD5: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_RC4_128_MD5: okhttp3.CipherSuite; + public static TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_DES_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_KRB5_WITH_DES_CBC_SHA: okhttp3.CipherSuite; + public static TLS_KRB5_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_KRB5_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_KRB5_WITH_DES_CBC_MD5: okhttp3.CipherSuite; + public static TLS_KRB5_WITH_3DES_EDE_CBC_MD5: okhttp3.CipherSuite; + public static TLS_KRB5_WITH_RC4_128_MD5: okhttp3.CipherSuite; + public static TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA: okhttp3.CipherSuite; + public static TLS_KRB5_EXPORT_WITH_RC4_40_SHA: okhttp3.CipherSuite; + public static TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5: okhttp3.CipherSuite; + public static TLS_KRB5_EXPORT_WITH_RC4_40_MD5: okhttp3.CipherSuite; + public static TLS_RSA_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_RSA_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_RSA_WITH_NULL_SHA256: okhttp3.CipherSuite; + public static TLS_RSA_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_RSA_WITH_AES_256_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_AES_256_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_PSK_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_PSK_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_PSK_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_PSK_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_RSA_WITH_SEED_CBC_SHA: okhttp3.CipherSuite; + public static TLS_RSA_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_RSA_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_DH_anon_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_EMPTY_RENEGOTIATION_INFO_SCSV: okhttp3.CipherSuite; + public static TLS_FALLBACK_SCSV: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_NULL_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_NULL_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_NULL_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_NULL_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_anon_WITH_NULL_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_anon_WITH_RC4_128_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_anon_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDH_anon_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA: okhttp3.CipherSuite; + public static TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: okhttp3.CipherSuite; + public static TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: okhttp3.CipherSuite; + public static TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: okhttp3.CipherSuite; + public static TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: okhttp3.CipherSuite; + public static TLS_AES_128_GCM_SHA256: okhttp3.CipherSuite; + public static TLS_AES_256_GCM_SHA384: okhttp3.CipherSuite; + public static TLS_CHACHA20_POLY1305_SHA256: okhttp3.CipherSuite; + public static TLS_AES_128_CCM_SHA256: okhttp3.CipherSuite; + public static TLS_AES_128_CCM_8_SHA256: okhttp3.CipherSuite; + public javaName(): string; + public static forJavaName(param0: string): okhttp3.CipherSuite; + + public toString(): string; + } + export module CipherSuite { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public forJavaName(param0: string): okhttp3.CipherSuite; + public getORDER_BY_NAME$okhttp(): java.util.Comparator; + } + } +} + +declare module okhttp3 { + export class Connection extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Connection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + route(): okhttp3.Route; + socket(): java.net.Socket; + handshake(): okhttp3.Handshake; + protocol(): okhttp3.Protocol; + }); + public constructor(); + public route(): okhttp3.Route; + public protocol(): okhttp3.Protocol; + public handshake(): okhttp3.Handshake; + public socket(): java.net.Socket; + } +} + +declare module okhttp3 { + export class ConnectionPool extends java.lang.Object { + public static class: java.lang.Class; + public constructor(); + public connectionCount(): number; + public getDelegate$okhttp(): okhttp3.internal.connection.RealConnectionPool; + public evictAll(): void; + public idleConnectionCount(): number; + public constructor(param0: okhttp3.internal.connection.RealConnectionPool); + public constructor(param0: number, param1: number, param2: java.util.concurrent.TimeUnit); + } +} + +declare module okhttp3 { + export class ConnectionSpec extends java.lang.Object { + public static class: java.lang.Class; + public static RESTRICTED_TLS: okhttp3.ConnectionSpec; + public static MODERN_TLS: okhttp3.ConnectionSpec; + public static COMPATIBLE_TLS: okhttp3.ConnectionSpec; + public static CLEARTEXT: okhttp3.ConnectionSpec; + + public cipherSuites(): java.util.List; + public equals(param0: any): boolean; + public tlsVersions(): java.util.List; + public supportsTlsExtensions(): boolean; + public toString(): string; + + public hashCode(): number; + public isCompatible(param0: javax.net.ssl.SSLSocket): boolean; + public apply$okhttp(param0: javax.net.ssl.SSLSocket, param1: boolean): void; + public isTls(): boolean; + + public constructor(param0: boolean, param1: boolean, param2: androidNative.Array, param3: androidNative.Array); + } + export module ConnectionSpec { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public getCipherSuites$okhttp(): androidNative.Array; + public build(): okhttp3.ConnectionSpec; + public tlsVersions(param0: androidNative.Array): okhttp3.ConnectionSpec.Builder; + public constructor(param0: boolean); + public getSupportsTlsExtensions$okhttp(): boolean; + public constructor(param0: okhttp3.ConnectionSpec); + public cipherSuites(param0: androidNative.Array): okhttp3.ConnectionSpec.Builder; + public setSupportsTlsExtensions$okhttp(param0: boolean): void; + public setTlsVersions$okhttp(param0: androidNative.Array): void; + /** @deprecated */ + public supportsTlsExtensions(param0: boolean): okhttp3.ConnectionSpec.Builder; + public getTls$okhttp(): boolean; + public setTls$okhttp(param0: boolean): void; + public getTlsVersions$okhttp(): androidNative.Array; + public cipherSuites(param0: androidNative.Array): okhttp3.ConnectionSpec.Builder; + public allEnabledCipherSuites(): okhttp3.ConnectionSpec.Builder; + public allEnabledTlsVersions(): okhttp3.ConnectionSpec.Builder; + public setCipherSuites$okhttp(param0: androidNative.Array): void; + public tlsVersions(param0: androidNative.Array): okhttp3.ConnectionSpec.Builder; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } +} + +declare module okhttp3 { + export class Cookie extends java.lang.Object { + public static class: java.lang.Class; + public equals(param0: any): boolean; + public matches(param0: okhttp3.HttpUrl): boolean; + + + public httpOnly(): boolean; + + public expiresAt(): number; + + public toString$okhttp(param0: boolean): string; + public hashCode(): number; + + + public secure(): boolean; + + public domain(): string; + public static parseAll(param0: okhttp3.HttpUrl, param1: okhttp3.Headers): java.util.List; + + public toString(): string; + + public persistent(): boolean; + public static parse(param0: okhttp3.HttpUrl, param1: string): okhttp3.Cookie; + public hostOnly(): boolean; + public name(): string; + public path(): string; + public value(): string; + } + export module Cookie { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public domain(param0: string): okhttp3.Cookie.Builder; + public hostOnlyDomain(param0: string): okhttp3.Cookie.Builder; + public value(param0: string): okhttp3.Cookie.Builder; + public httpOnly(): okhttp3.Cookie.Builder; + public secure(): okhttp3.Cookie.Builder; + public expiresAt(param0: number): okhttp3.Cookie.Builder; + public build(): okhttp3.Cookie; + public name(param0: string): okhttp3.Cookie.Builder; + public constructor(); + public path(param0: string): okhttp3.Cookie.Builder; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public parse$okhttp(param0: number, param1: okhttp3.HttpUrl, param2: string): okhttp3.Cookie; + public parse(param0: okhttp3.HttpUrl, param1: string): okhttp3.Cookie; + public parseAll(param0: okhttp3.HttpUrl, param1: okhttp3.Headers): java.util.List; + } + } +} + +declare module okhttp3 { + export class CookieJar extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.CookieJar interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + saveFromResponse(param0: okhttp3.HttpUrl, param1: java.util.List): void; + loadForRequest(param0: okhttp3.HttpUrl): java.util.List; + (): void; + }); + public constructor(); + public static NO_COOKIES: okhttp3.CookieJar; + public loadForRequest(param0: okhttp3.HttpUrl): java.util.List; + public saveFromResponse(param0: okhttp3.HttpUrl, param1: java.util.List): void; + } + export module CookieJar { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export module Companion { + export class NoCookies extends java.lang.Object implements okhttp3.CookieJar { + public static class: java.lang.Class; + public loadForRequest(param0: okhttp3.HttpUrl): java.util.List; + public saveFromResponse(param0: okhttp3.HttpUrl, param1: java.util.List): void; + public constructor(); + } + } + } +} + +declare module okhttp3 { + export class Credentials extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.Credentials; + public static basic(param0: string, param1: string, param2: java.nio.charset.Charset): string; + public static basic(param0: string, param1: string): string; + } +} + +declare module okhttp3 { + export class Dispatcher extends java.lang.Object { + public static class: java.lang.Class; + public constructor(); + public setMaxRequestsPerHost(param0: number): void; + public constructor(param0: java.util.concurrent.ExecutorService); + public queuedCallsCount(): number; + + public finished$okhttp(param0: okhttp3.internal.connection.RealCall.AsyncCall): void; + public runningCallsCount(): number; + public runningCalls(): java.util.List; + public cancelAll(): void; + public queuedCalls(): java.util.List; + public setMaxRequests(param0: number): void; + public getMaxRequestsPerHost(): number; + public executed$okhttp(param0: okhttp3.internal.connection.RealCall): void; + public executorService(): java.util.concurrent.ExecutorService; + public setIdleCallback(param0: java.lang.Runnable): void; + public getIdleCallback(): java.lang.Runnable; + public enqueue$okhttp(param0: okhttp3.internal.connection.RealCall.AsyncCall): void; + public getMaxRequests(): number; + public finished$okhttp(param0: okhttp3.internal.connection.RealCall): void; + } +} + +declare module okhttp3 { + export class Dns extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Dns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + lookup(param0: string): java.util.List; + (): void; + }); + public constructor(); + public static SYSTEM: okhttp3.Dns; + public lookup(param0: string): java.util.List; + } + export module Dns { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export module Companion { + export class DnsSystem extends java.lang.Object implements okhttp3.Dns { + public static class: java.lang.Class; + public lookup(param0: string): java.util.List; + public constructor(); + } + } + } +} + +declare module okhttp3 { + export abstract class EventListener extends java.lang.Object { + public static class: java.lang.Class; + public static NONE: okhttp3.EventListener; + public connectFailed(param0: okhttp3.Call, param1: java.net.InetSocketAddress, param2: java.net.Proxy, param3: okhttp3.Protocol, param4: java.io.IOException): void; + public proxySelectStart(param0: okhttp3.Call, param1: okhttp3.HttpUrl): void; + public proxySelectEnd(param0: okhttp3.Call, param1: okhttp3.HttpUrl, param2: java.util.List): void; + public connectionReleased(param0: okhttp3.Call, param1: okhttp3.Connection): void; + public dnsEnd(param0: okhttp3.Call, param1: string, param2: java.util.List): void; + public secureConnectEnd(param0: okhttp3.Call, param1: okhttp3.Handshake): void; + public dnsStart(param0: okhttp3.Call, param1: string): void; + public connectEnd(param0: okhttp3.Call, param1: java.net.InetSocketAddress, param2: java.net.Proxy, param3: okhttp3.Protocol): void; + public requestHeadersEnd(param0: okhttp3.Call, param1: okhttp3.Request): void; + public connectStart(param0: okhttp3.Call, param1: java.net.InetSocketAddress, param2: java.net.Proxy): void; + public callFailed(param0: okhttp3.Call, param1: java.io.IOException): void; + public constructor(); + public cacheMiss(param0: okhttp3.Call): void; + public callStart(param0: okhttp3.Call): void; + public satisfactionFailure(param0: okhttp3.Call, param1: okhttp3.Response): void; + public responseBodyEnd(param0: okhttp3.Call, param1: number): void; + public responseFailed(param0: okhttp3.Call, param1: java.io.IOException): void; + public callEnd(param0: okhttp3.Call): void; + public secureConnectStart(param0: okhttp3.Call): void; + public responseHeadersEnd(param0: okhttp3.Call, param1: okhttp3.Response): void; + public canceled(param0: okhttp3.Call): void; + public connectionAcquired(param0: okhttp3.Call, param1: okhttp3.Connection): void; + public responseBodyStart(param0: okhttp3.Call): void; + public cacheConditionalHit(param0: okhttp3.Call, param1: okhttp3.Response): void; + public requestBodyEnd(param0: okhttp3.Call, param1: number): void; + public requestFailed(param0: okhttp3.Call, param1: java.io.IOException): void; + public requestHeadersStart(param0: okhttp3.Call): void; + public requestBodyStart(param0: okhttp3.Call): void; + public responseHeadersStart(param0: okhttp3.Call): void; + public cacheHit(param0: okhttp3.Call, param1: okhttp3.Response): void; + } + export module EventListener { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export class Factory extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.EventListener$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + create(param0: okhttp3.Call): okhttp3.EventListener; + }); + public constructor(); + public create(param0: okhttp3.Call): okhttp3.EventListener; + } + } +} + +declare module okhttp3 { + export class FormBody extends okhttp3.RequestBody { + public static class: java.lang.Class; + public value(param0: number): string; + public constructor(); + public encodedValue(param0: number): string; + public name(param0: number): string; + public size(): number; + public constructor(param0: java.util.List, param1: java.util.List); + public encodedName(param0: number): string; + public contentType(): okhttp3.MediaType; + public writeTo(param0: okio.BufferedSink): void; + public contentLength(): number; + + } + export module FormBody { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public addEncoded(param0: string, param1: string): okhttp3.FormBody.Builder; + public constructor(param0: java.nio.charset.Charset); + public constructor(); + public add(param0: string, param1: string): okhttp3.FormBody.Builder; + public build(): okhttp3.FormBody; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } +} + +declare module okhttp3 { + export class Handshake extends java.lang.Object { + public static class: java.lang.Class; + + public equals(param0: any): boolean; + public localCertificates(): java.util.List; + public peerCertificates(): java.util.List; + public toString(): string; + public peerPrincipal(): java.security.Principal; + public static get(param0: okhttp3.TlsVersion, param1: okhttp3.CipherSuite, param2: java.util.List, param3: java.util.List): okhttp3.Handshake; + + public static get(param0: javax.net.ssl.SSLSession): okhttp3.Handshake; + + + public constructor(param0: okhttp3.TlsVersion, param1: okhttp3.CipherSuite, param2: java.util.List, param3: any); + public hashCode(): number; + + public localPrincipal(): java.security.Principal; + public tlsVersion(): okhttp3.TlsVersion; + + public cipherSuite(): okhttp3.CipherSuite; + } + export module Handshake { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public get(param0: javax.net.ssl.SSLSession): okhttp3.Handshake; + public get(param0: okhttp3.TlsVersion, param1: okhttp3.CipherSuite, param2: java.util.List, param3: java.util.List): okhttp3.Handshake; + + } + } +} + +declare module okhttp3 { + export class Headers extends java.lang.Object { + public static class: java.lang.Class; + public value(param0: number): string; + public equals(param0: any): boolean; + public newBuilder(): okhttp3.Headers.Builder; + public forEach(param0: any /* any*/): void; + public getInstant(param0: string): java.time.Instant; + public iterator(): java.util.Iterator; + public toString(): string; + public get(param0: string): string; + public values(param0: string): java.util.List; + public names(): java.util.Set; + public static of(param0: java.util.Map): okhttp3.Headers; + public name(param0: number): string; + public size(): number; + public iterator(): java.util.Iterator; + public spliterator(): java.util.Spliterator; + public hashCode(): number; + public toMultimap(): java.util.Map>; + public getDate(param0: string): java.util.Date; + public byteCount(): number; + + public static of(param0: androidNative.Array): okhttp3.Headers; + } + export module Headers { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public get(param0: string): string; + public build(): okhttp3.Headers; + public set(param0: string, param1: java.time.Instant): okhttp3.Headers.Builder; + public getNamesAndValues$okhttp(): java.util.List; + public set(param0: string, param1: string): okhttp3.Headers.Builder; + public addAll(param0: okhttp3.Headers): okhttp3.Headers.Builder; + public constructor(); + public addLenient$okhttp(param0: string, param1: string): okhttp3.Headers.Builder; + public add(param0: string, param1: string): okhttp3.Headers.Builder; + public removeAll(param0: string): okhttp3.Headers.Builder; + public add(param0: string, param1: java.time.Instant): okhttp3.Headers.Builder; + public set(param0: string, param1: java.util.Date): okhttp3.Headers.Builder; + public add(param0: string): okhttp3.Headers.Builder; + public addUnsafeNonAscii(param0: string, param1: string): okhttp3.Headers.Builder; + public addLenient$okhttp(param0: string): okhttp3.Headers.Builder; + public add(param0: string, param1: java.util.Date): okhttp3.Headers.Builder; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + + public of(param0: java.util.Map): okhttp3.Headers; + public of(param0: androidNative.Array): okhttp3.Headers; + + } + } +} + +declare module okhttp3 { + export class HttpUrl extends java.lang.Object { + public static class: java.lang.Class; + public static USERNAME_ENCODE_SET: string; + public static PASSWORD_ENCODE_SET: string; + public static PATH_SEGMENT_ENCODE_SET: string; + public static PATH_SEGMENT_ENCODE_SET_URI: string; + public static QUERY_ENCODE_SET: string; + public static QUERY_COMPONENT_REENCODE_SET: string; + public static QUERY_COMPONENT_ENCODE_SET: string; + public static QUERY_COMPONENT_ENCODE_SET_URI: string; + public static FORM_ENCODE_SET: string; + public static FRAGMENT_ENCODE_SET: string; + public static FRAGMENT_ENCODE_SET_URI: string; + public static get(param0: java.net.URI): okhttp3.HttpUrl; + public equals(param0: any): boolean; + public topPrivateDomain(): string; + public queryParameterName(param0: number): string; + + public queryParameterNames(): java.util.Set; + + public encodedPassword(): string; + public query(): string; + + + + public static get(param0: string): okhttp3.HttpUrl; + public pathSize(): number; + public isHttps(): boolean; + + public newBuilder(): okhttp3.HttpUrl.Builder; + public port(): number; + public encodedFragment(): string; + public redact(): string; + + public toString(): string; + public fragment(): string; + public uri(): java.net.URI; + + public queryParameterValue(param0: number): string; + + public host(): string; + public static get(param0: java.net.URL): okhttp3.HttpUrl; + + public url(): java.net.URL; + public querySize(): number; + public static defaultPort(param0: string): number; + public scheme(): string; + + public constructor(param0: string, param1: string, param2: string, param3: string, param4: number, param5: java.util.List, param6: java.util.List, param7: string, param8: string); + public queryParameter(param0: string): string; + + public password(): string; + public hashCode(): number; + public resolve(param0: string): okhttp3.HttpUrl; + public encodedPathSegments(): java.util.List; + public encodedQuery(): string; + public encodedPath(): string; + + + public encodedUsername(): string; + public queryParameterValues(param0: string): java.util.List; + + public newBuilder(param0: string): okhttp3.HttpUrl.Builder; + + public pathSegments(): java.util.List; + public static parse(param0: string): okhttp3.HttpUrl; + + + + public username(): string; + } + export module HttpUrl { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public static INVALID_HOST: string; + public addPathSegment(param0: string): okhttp3.HttpUrl.Builder; + public addEncodedPathSegment(param0: string): okhttp3.HttpUrl.Builder; + public setEncodedQueryParameter(param0: string, param1: string): okhttp3.HttpUrl.Builder; + public setQueryParameter(param0: string, param1: string): okhttp3.HttpUrl.Builder; + public setEncodedQueryNamesAndValues$okhttp(param0: java.util.List): void; + public getEncodedQueryNamesAndValues$okhttp(): java.util.List; + public getEncodedPathSegments$okhttp(): java.util.List; + public encodedFragment(param0: string): okhttp3.HttpUrl.Builder; + public username(param0: string): okhttp3.HttpUrl.Builder; + public parse$okhttp(param0: okhttp3.HttpUrl, param1: string): okhttp3.HttpUrl.Builder; + public setEncodedFragment$okhttp(param0: string): void; + public addPathSegments(param0: string): okhttp3.HttpUrl.Builder; + public setPort$okhttp(param0: number): void; + public getHost$okhttp(): string; + public encodedPath(param0: string): okhttp3.HttpUrl.Builder; + public getScheme$okhttp(): string; + public setScheme$okhttp(param0: string): void; + public encodedPassword(param0: string): okhttp3.HttpUrl.Builder; + public addEncodedPathSegments(param0: string): okhttp3.HttpUrl.Builder; + public encodedQuery(param0: string): okhttp3.HttpUrl.Builder; + public setEncodedUsername$okhttp(param0: string): void; + public getPort$okhttp(): number; + public host(param0: string): okhttp3.HttpUrl.Builder; + public removeAllEncodedQueryParameters(param0: string): okhttp3.HttpUrl.Builder; + public setEncodedPathSegment(param0: number, param1: string): okhttp3.HttpUrl.Builder; + public setHost$okhttp(param0: string): void; + public reencodeForUri$okhttp(): okhttp3.HttpUrl.Builder; + public constructor(); + public encodedUsername(param0: string): okhttp3.HttpUrl.Builder; + public password(param0: string): okhttp3.HttpUrl.Builder; + public getEncodedUsername$okhttp(): string; + public getEncodedPassword$okhttp(): string; + public getEncodedFragment$okhttp(): string; + public port(param0: number): okhttp3.HttpUrl.Builder; + public toString(): string; + public addQueryParameter(param0: string, param1: string): okhttp3.HttpUrl.Builder; + public addEncodedQueryParameter(param0: string, param1: string): okhttp3.HttpUrl.Builder; + public query(param0: string): okhttp3.HttpUrl.Builder; + public setPathSegment(param0: number, param1: string): okhttp3.HttpUrl.Builder; + public removeAllQueryParameters(param0: string): okhttp3.HttpUrl.Builder; + public scheme(param0: string): okhttp3.HttpUrl.Builder; + public removePathSegment(param0: number): okhttp3.HttpUrl.Builder; + public fragment(param0: string): okhttp3.HttpUrl.Builder; + public build(): okhttp3.HttpUrl; + public setEncodedPassword$okhttp(param0: string): void; + } + export module Builder { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public toPathString$okhttp(param0: java.util.List, param1: java.lang.StringBuilder): void; + + public defaultPort(param0: string): number; + public get(param0: java.net.URL): okhttp3.HttpUrl; + public get(param0: java.net.URI): okhttp3.HttpUrl; + public toQueryNamesAndValues$okhttp(param0: string): java.util.List; + + public percentDecode$okhttp(param0: string, param1: number, param2: number, param3: boolean): string; + public canonicalize$okhttp(param0: string, param1: number, param2: number, param3: string, param4: boolean, param5: boolean, param6: boolean, param7: boolean, param8: java.nio.charset.Charset): string; + public toQueryString$okhttp(param0: java.util.List, param1: java.lang.StringBuilder): void; + public get(param0: string): okhttp3.HttpUrl; + public parse(param0: string): okhttp3.HttpUrl; + + + } + } +} + +declare module okhttp3 { + export class Interceptor extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Interceptor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + (): void; + }); + public constructor(); + public intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + } + export module Interceptor { + export class Chain extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.Interceptor$Chain interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + request(): okhttp3.Request; + proceed(param0: okhttp3.Request): okhttp3.Response; + connection(): okhttp3.Connection; + call(): okhttp3.Call; + connectTimeoutMillis(): number; + withConnectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + readTimeoutMillis(): number; + withReadTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + writeTimeoutMillis(): number; + withWriteTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + }); + public constructor(); + public request(): okhttp3.Request; + public withConnectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + public call(): okhttp3.Call; + public withWriteTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + public readTimeoutMillis(): number; + public withReadTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + public proceed(param0: okhttp3.Request): okhttp3.Response; + public connection(): okhttp3.Connection; + public connectTimeoutMillis(): number; + public writeTimeoutMillis(): number; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public invoke(param0: any): okhttp3.Interceptor; + } + } +} + +declare module okhttp3 { + export class MediaType extends java.lang.Object { + public static class: java.lang.Class; + public type(): string; + public charset(): java.nio.charset.Charset; + public equals(param0: any): boolean; + public parameter(param0: string): string; + public subtype(): string; + public charset(param0: java.nio.charset.Charset): java.nio.charset.Charset; + public hashCode(): number; + public static get(param0: string): okhttp3.MediaType; + public static parse(param0: string): okhttp3.MediaType; + public toString(): string; + + + } + export module MediaType { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public parse(param0: string): okhttp3.MediaType; + public get(param0: string): okhttp3.MediaType; + + + } + } +} + +declare module okhttp3 { + export class MultipartBody extends okhttp3.RequestBody { + public static class: java.lang.Class; + public static MIXED: okhttp3.MediaType; + public static ALTERNATIVE: okhttp3.MediaType; + public static DIGEST: okhttp3.MediaType; + public static PARALLEL: okhttp3.MediaType; + public static FORM: okhttp3.MediaType; + public constructor(); + + + public parts(): java.util.List; + public type(): okhttp3.MediaType; + public writeTo(param0: okio.BufferedSink): void; + public boundary(): string; + public size(): number; + + public contentType(): okhttp3.MediaType; + public constructor(param0: okio.ByteString, param1: okhttp3.MediaType, param2: java.util.List); + public part(param0: number): okhttp3.MultipartBody.Part; + public contentLength(): number; + + } + export module MultipartBody { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public setType(param0: okhttp3.MediaType): okhttp3.MultipartBody.Builder; + public addPart(param0: okhttp3.MultipartBody.Part): okhttp3.MultipartBody.Builder; + public build(): okhttp3.MultipartBody; + public addPart(param0: okhttp3.Headers, param1: okhttp3.RequestBody): okhttp3.MultipartBody.Builder; + public addPart(param0: okhttp3.RequestBody): okhttp3.MultipartBody.Builder; + public addFormDataPart(param0: string, param1: string): okhttp3.MultipartBody.Builder; + public addFormDataPart(param0: string, param1: string, param2: okhttp3.RequestBody): okhttp3.MultipartBody.Builder; + public constructor(); + public constructor(param0: string); + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public appendQuotedString$okhttp(param0: java.lang.StringBuilder, param1: string): void; + } + export class Part extends java.lang.Object { + public static class: java.lang.Class; + public headers(): okhttp3.Headers; + + + public static create(param0: okhttp3.Headers, param1: okhttp3.RequestBody): okhttp3.MultipartBody.Part; + public static createFormData(param0: string, param1: string, param2: okhttp3.RequestBody): okhttp3.MultipartBody.Part; + public static create(param0: okhttp3.RequestBody): okhttp3.MultipartBody.Part; + public static createFormData(param0: string, param1: string): okhttp3.MultipartBody.Part; + public body(): okhttp3.RequestBody; + } + export module Part { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public createFormData(param0: string, param1: string): okhttp3.MultipartBody.Part; + public createFormData(param0: string, param1: string, param2: okhttp3.RequestBody): okhttp3.MultipartBody.Part; + public create(param0: okhttp3.RequestBody): okhttp3.MultipartBody.Part; + public create(param0: okhttp3.Headers, param1: okhttp3.RequestBody): okhttp3.MultipartBody.Part; + } + } + } +} + +declare module okhttp3 { + export class MultipartReader extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public boundary(): string; + public close(): void; + public nextPart(): okhttp3.MultipartReader.Part; + public constructor(param0: okio.BufferedSource, param1: string); + public constructor(param0: okhttp3.ResponseBody); + } + export module MultipartReader { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getAfterBoundaryOptions(): okio.Options; + } + export class Part extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public headers(): okhttp3.Headers; + public constructor(param0: okhttp3.Headers, param1: okio.BufferedSource); + public body(): okio.BufferedSource; + public close(): void; + } + export class PartSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public constructor(param0: okhttp3.MultipartReader); + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + public close(): void; + } + } +} + +declare module okhttp3 { + export class OkHttp extends java.lang.Object { + public static class: java.lang.Class; + public static VERSION: string; + public static INSTANCE: okhttp3.OkHttp; + } +} + +declare module okhttp3 { + export class OkHttpClient extends java.lang.Object implements java.lang.Cloneable, okhttp3.Call.Factory, okhttp3.WebSocket.Factory { + public static class: java.lang.Class; + + + + public connectionPool(): okhttp3.ConnectionPool; + public cache(): okhttp3.Cache; + + + public dns(): okhttp3.Dns; + public proxyAuthenticator(): okhttp3.Authenticator; + public hostnameVerifier(): javax.net.ssl.HostnameVerifier; + public callTimeoutMillis(): number; + public connectTimeoutMillis(): number; + public newBuilder(): okhttp3.OkHttpClient.Builder; + + + public constructor(); + public followRedirects(): boolean; + public interceptors(): java.util.List; + + + public socketFactory(): javax.net.SocketFactory; + public retryOnConnectionFailure(): boolean; + public constructor(param0: okhttp3.OkHttpClient.Builder); + + public proxy(): java.net.Proxy; + public sslSocketFactory(): javax.net.ssl.SSLSocketFactory; + public certificatePinner(): okhttp3.CertificatePinner; + + public clone(): any; + public dispatcher(): okhttp3.Dispatcher; + + public certificateChainCleaner(): okhttp3.internal.tls.CertificateChainCleaner; + public protocols(): java.util.List; + + + + + + public minWebSocketMessageToCompress(): number; + public cookieJar(): okhttp3.CookieJar; + public pingIntervalMillis(): number; + + public connectionSpecs(): java.util.List; + + + public proxySelector(): java.net.ProxySelector; + + public readTimeoutMillis(): number; + public authenticator(): okhttp3.Authenticator; + public getRouteDatabase(): okhttp3.internal.connection.RouteDatabase; + + public writeTimeoutMillis(): number; + + public newWebSocket(param0: okhttp3.Request, param1: okhttp3.WebSocketListener): okhttp3.WebSocket; + public followSslRedirects(): boolean; + + + public networkInterceptors(): java.util.List; + public eventListenerFactory(): okhttp3.EventListener.Factory; + public x509TrustManager(): javax.net.ssl.X509TrustManager; + public newCall(param0: okhttp3.Request): okhttp3.Call; + + } + export module OkHttpClient { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public addInterceptor(param0: okhttp3.Interceptor): okhttp3.OkHttpClient.Builder; + public getRetryOnConnectionFailure$okhttp(): boolean; + public setProxy$okhttp(param0: java.net.Proxy): void; + public getDispatcher$okhttp(): okhttp3.Dispatcher; + public getProxyAuthenticator$okhttp(): okhttp3.Authenticator; + public readTimeout(param0: java.time.Duration): okhttp3.OkHttpClient.Builder; + public setDns$okhttp(param0: okhttp3.Dns): void; + public protocols(param0: java.util.List): okhttp3.OkHttpClient.Builder; + public eventListener(param0: okhttp3.EventListener): okhttp3.OkHttpClient.Builder; + public getProxy$okhttp(): java.net.Proxy; + public getSslSocketFactoryOrNull$okhttp(): javax.net.ssl.SSLSocketFactory; + public cookieJar(param0: okhttp3.CookieJar): okhttp3.OkHttpClient.Builder; + public getFollowSslRedirects$okhttp(): boolean; + public connectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.OkHttpClient.Builder; + public pingInterval(param0: java.time.Duration): okhttp3.OkHttpClient.Builder; + public constructor(); + public dispatcher(param0: okhttp3.Dispatcher): okhttp3.OkHttpClient.Builder; + public socketFactory(param0: javax.net.SocketFactory): okhttp3.OkHttpClient.Builder; + public writeTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.OkHttpClient.Builder; + public hostnameVerifier(param0: javax.net.ssl.HostnameVerifier): okhttp3.OkHttpClient.Builder; + public getWriteTimeout$okhttp(): number; + public setX509TrustManagerOrNull$okhttp(param0: javax.net.ssl.X509TrustManager): void; + public getProtocols$okhttp(): java.util.List; + /** @deprecated */ + public sslSocketFactory(param0: javax.net.ssl.SSLSocketFactory): okhttp3.OkHttpClient.Builder; + public getReadTimeout$okhttp(): number; + public minWebSocketMessageToCompress(param0: number): okhttp3.OkHttpClient.Builder; + public setCertificateChainCleaner$okhttp(param0: okhttp3.internal.tls.CertificateChainCleaner): void; + public readTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.OkHttpClient.Builder; + public build(): okhttp3.OkHttpClient; + public cache(param0: okhttp3.Cache): okhttp3.OkHttpClient.Builder; + public setMinWebSocketMessageToCompress$okhttp(param0: number): void; + public getConnectionPool$okhttp(): okhttp3.ConnectionPool; + public setCallTimeout$okhttp(param0: number): void; + public setCertificatePinner$okhttp(param0: okhttp3.CertificatePinner): void; + public setRouteDatabase$okhttp(param0: okhttp3.internal.connection.RouteDatabase): void; + public getAuthenticator$okhttp(): okhttp3.Authenticator; + public setCache$okhttp(param0: okhttp3.Cache): void; + public connectTimeout(param0: java.time.Duration): okhttp3.OkHttpClient.Builder; + public setProxyAuthenticator$okhttp(param0: okhttp3.Authenticator): void; + public setAuthenticator$okhttp(param0: okhttp3.Authenticator): void; + public getCertificateChainCleaner$okhttp(): okhttp3.internal.tls.CertificateChainCleaner; + public setPingInterval$okhttp(param0: number): void; + public addNetworkInterceptor(param0: okhttp3.Interceptor): okhttp3.OkHttpClient.Builder; + public setConnectionSpecs$okhttp(param0: java.util.List): void; + public getCertificatePinner$okhttp(): okhttp3.CertificatePinner; + public getDns$okhttp(): okhttp3.Dns; + public getCookieJar$okhttp(): okhttp3.CookieJar; + public connectionPool(param0: okhttp3.ConnectionPool): okhttp3.OkHttpClient.Builder; + public setReadTimeout$okhttp(param0: number): void; + public getNetworkInterceptors$okhttp(): java.util.List; + public connectionSpecs(param0: java.util.List): okhttp3.OkHttpClient.Builder; + public setConnectTimeout$okhttp(param0: number): void; + public proxyAuthenticator(param0: okhttp3.Authenticator): okhttp3.OkHttpClient.Builder; + public followRedirects(param0: boolean): okhttp3.OkHttpClient.Builder; + public setFollowSslRedirects$okhttp(param0: boolean): void; + public callTimeout(param0: java.time.Duration): okhttp3.OkHttpClient.Builder; + public getCallTimeout$okhttp(): number; + public setCookieJar$okhttp(param0: okhttp3.CookieJar): void; + public retryOnConnectionFailure(param0: boolean): okhttp3.OkHttpClient.Builder; + public authenticator(param0: okhttp3.Authenticator): okhttp3.OkHttpClient.Builder; + public constructor(param0: okhttp3.OkHttpClient); + public setHostnameVerifier$okhttp(param0: javax.net.ssl.HostnameVerifier): void; + public certificatePinner(param0: okhttp3.CertificatePinner): okhttp3.OkHttpClient.Builder; + public getCache$okhttp(): okhttp3.Cache; + public setSslSocketFactoryOrNull$okhttp(param0: javax.net.ssl.SSLSocketFactory): void; + public setEventListenerFactory$okhttp(param0: okhttp3.EventListener.Factory): void; + public interceptors(): java.util.List; + public getInterceptors$okhttp(): java.util.List; + public getConnectTimeout$okhttp(): number; + public dns(param0: okhttp3.Dns): okhttp3.OkHttpClient.Builder; + public callTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.OkHttpClient.Builder; + public getConnectionSpecs$okhttp(): java.util.List; + public writeTimeout(param0: java.time.Duration): okhttp3.OkHttpClient.Builder; + public eventListenerFactory(param0: okhttp3.EventListener.Factory): okhttp3.OkHttpClient.Builder; + public pingInterval(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.OkHttpClient.Builder; + public setFollowRedirects$okhttp(param0: boolean): void; + public setWriteTimeout$okhttp(param0: number): void; + public setConnectionPool$okhttp(param0: okhttp3.ConnectionPool): void; + public getProxySelector$okhttp(): java.net.ProxySelector; + public setSocketFactory$okhttp(param0: javax.net.SocketFactory): void; + public networkInterceptors(): java.util.List; + public getHostnameVerifier$okhttp(): javax.net.ssl.HostnameVerifier; + public sslSocketFactory(param0: javax.net.ssl.SSLSocketFactory, param1: javax.net.ssl.X509TrustManager): okhttp3.OkHttpClient.Builder; + public followSslRedirects(param0: boolean): okhttp3.OkHttpClient.Builder; + public getX509TrustManagerOrNull$okhttp(): javax.net.ssl.X509TrustManager; + public setProtocols$okhttp(param0: java.util.List): void; + public getPingInterval$okhttp(): number; + public setRetryOnConnectionFailure$okhttp(param0: boolean): void; + public proxySelector(param0: java.net.ProxySelector): okhttp3.OkHttpClient.Builder; + public getEventListenerFactory$okhttp(): okhttp3.EventListener.Factory; + public getSocketFactory$okhttp(): javax.net.SocketFactory; + public setDispatcher$okhttp(param0: okhttp3.Dispatcher): void; + public getFollowRedirects$okhttp(): boolean; + public getMinWebSocketMessageToCompress$okhttp(): number; + public setProxySelector$okhttp(param0: java.net.ProxySelector): void; + public proxy(param0: java.net.Proxy): okhttp3.OkHttpClient.Builder; + public getRouteDatabase$okhttp(): okhttp3.internal.connection.RouteDatabase; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getDEFAULT_CONNECTION_SPECS$okhttp(): java.util.List; + public getDEFAULT_PROTOCOLS$okhttp(): java.util.List; + } + } +} + +declare module okhttp3 { + export class Protocol { + public static class: java.lang.Class; + public static HTTP_1_0: okhttp3.Protocol; + public static HTTP_1_1: okhttp3.Protocol; + public static SPDY_3: okhttp3.Protocol; + public static HTTP_2: okhttp3.Protocol; + public static H2_PRIOR_KNOWLEDGE: okhttp3.Protocol; + public static QUIC: okhttp3.Protocol; + public static valueOf(param0: string): okhttp3.Protocol; + public static get(param0: string): okhttp3.Protocol; + public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum; + public static values(): androidNative.Array; + public toString(): string; + } + export module Protocol { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public get(param0: string): okhttp3.Protocol; + } + } +} + +declare module okhttp3 { + export class Request extends java.lang.Object { + public static class: java.lang.Class; + + public tag(): any; + public headers(): okhttp3.Headers; + public newBuilder(): okhttp3.Request.Builder; + public constructor(param0: okhttp3.HttpUrl, param1: string, param2: okhttp3.Headers, param3: okhttp3.RequestBody, param4: java.util.Map,any>); + public url(): okhttp3.HttpUrl; + public cacheControl(): okhttp3.CacheControl; + public method(): string; + public toString(): string; + public header(param0: string): string; + public headers(param0: string): java.util.List; + + + + public getTags$okhttp(): java.util.Map,any>; + public tag(param0: java.lang.Class): any; + public body(): okhttp3.RequestBody; + public isHttps(): boolean; + + } + export module Request { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public setMethod$okhttp(param0: string): void; + public url(param0: okhttp3.HttpUrl): okhttp3.Request.Builder; + public tag(param0: any): okhttp3.Request.Builder; + public url(param0: java.net.URL): okhttp3.Request.Builder; + public header(param0: string, param1: string): okhttp3.Request.Builder; + public constructor(param0: okhttp3.Request); + public put(param0: okhttp3.RequestBody): okhttp3.Request.Builder; + public setBody$okhttp(param0: okhttp3.RequestBody): void; + public get(): okhttp3.Request.Builder; + public getUrl$okhttp(): okhttp3.HttpUrl; + public post(param0: okhttp3.RequestBody): okhttp3.Request.Builder; + public getTags$okhttp(): java.util.Map,any>; + public method(param0: string, param1: okhttp3.RequestBody): okhttp3.Request.Builder; + public url(param0: string): okhttp3.Request.Builder; + public setHeaders$okhttp(param0: okhttp3.Headers.Builder): void; + public removeHeader(param0: string): okhttp3.Request.Builder; + public head(): okhttp3.Request.Builder; + public setTags$okhttp(param0: java.util.Map,any>): void; + public setUrl$okhttp(param0: okhttp3.HttpUrl): void; + public getMethod$okhttp(): string; + public tag(param0: java.lang.Class, param1: any): okhttp3.Request.Builder; + public headers(param0: okhttp3.Headers): okhttp3.Request.Builder; + public delete(): okhttp3.Request.Builder; + public constructor(); + public addHeader(param0: string, param1: string): okhttp3.Request.Builder; + public getBody$okhttp(): okhttp3.RequestBody; + public delete(param0: okhttp3.RequestBody): okhttp3.Request.Builder; + public patch(param0: okhttp3.RequestBody): okhttp3.Request.Builder; + public build(): okhttp3.Request; + public getHeaders$okhttp(): okhttp3.Headers.Builder; + public cacheControl(param0: okhttp3.CacheControl): okhttp3.Request.Builder; + } + } +} + +declare module okhttp3 { + export abstract class RequestBody extends java.lang.Object { + public static class: java.lang.Class; + public constructor(); + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: androidNative.Array, param2: number, param3: number): okhttp3.RequestBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: androidNative.Array, param2: number): okhttp3.RequestBody; + public static create(param0: androidNative.Array, param1: okhttp3.MediaType, param2: number, param3: number): okhttp3.RequestBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: okio.ByteString): okhttp3.RequestBody; + public static create(param0: androidNative.Array, param1: okhttp3.MediaType): okhttp3.RequestBody; + public isOneShot(): boolean; + public static create(param0: androidNative.Array, param1: okhttp3.MediaType, param2: number): okhttp3.RequestBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: java.io.File): okhttp3.RequestBody; + public writeTo(param0: okio.BufferedSink): void; + public static create(param0: java.io.File, param1: okhttp3.MediaType): okhttp3.RequestBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: string): okhttp3.RequestBody; + public static create(param0: androidNative.Array): okhttp3.RequestBody; + public static create(param0: string, param1: okhttp3.MediaType): okhttp3.RequestBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: androidNative.Array): okhttp3.RequestBody; + public contentType(): okhttp3.MediaType; + public contentLength(): number; + public isDuplex(): boolean; + public static create(param0: okio.ByteString, param1: okhttp3.MediaType): okhttp3.RequestBody; + } + export module RequestBody { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: androidNative.Array, param2: number): okhttp3.RequestBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: java.io.File): okhttp3.RequestBody; + public create(param0: java.io.File, param1: okhttp3.MediaType): okhttp3.RequestBody; + public create(param0: androidNative.Array): okhttp3.RequestBody; + public create(param0: androidNative.Array, param1: okhttp3.MediaType, param2: number): okhttp3.RequestBody; + public create(param0: androidNative.Array, param1: okhttp3.MediaType): okhttp3.RequestBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: string): okhttp3.RequestBody; + public create(param0: okio.ByteString, param1: okhttp3.MediaType): okhttp3.RequestBody; + public create(param0: androidNative.Array, param1: okhttp3.MediaType, param2: number, param3: number): okhttp3.RequestBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: okio.ByteString): okhttp3.RequestBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: androidNative.Array): okhttp3.RequestBody; + public create(param0: string, param1: okhttp3.MediaType): okhttp3.RequestBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: androidNative.Array, param2: number, param3: number): okhttp3.RequestBody; + } + } +} + +declare module okhttp3 { + export class Response extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public headers(): okhttp3.Headers; + public close(): void; + public sentRequestAtMillis(): number; + public cacheControl(): okhttp3.CacheControl; + public exchange(): okhttp3.internal.connection.Exchange; + public peekBody(param0: number): okhttp3.ResponseBody; + public handshake(): okhttp3.Handshake; + + + public header(param0: string, param1: string): string; + public header(param0: string): string; + + + public body(): okhttp3.ResponseBody; + public networkResponse(): okhttp3.Response; + public trailers(): okhttp3.Headers; + + public request(): okhttp3.Request; + public code(): number; + public protocol(): okhttp3.Protocol; + + + public priorResponse(): okhttp3.Response; + + public cacheResponse(): okhttp3.Response; + public constructor(param0: okhttp3.Request, param1: okhttp3.Protocol, param2: string, param3: number, param4: okhttp3.Handshake, param5: okhttp3.Headers, param6: okhttp3.ResponseBody, param7: okhttp3.Response, param8: okhttp3.Response, param9: okhttp3.Response, param10: number, param11: number, param12: okhttp3.internal.connection.Exchange); + + public toString(): string; + public isSuccessful(): boolean; + + + public headers(param0: string): java.util.List; + public newBuilder(): okhttp3.Response.Builder; + + public message(): string; + public challenges(): java.util.List; + public receivedResponseAtMillis(): number; + public isRedirect(): boolean; + + } + export module Response { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public cacheResponse(param0: okhttp3.Response): okhttp3.Response.Builder; + public setBody$okhttp(param0: okhttp3.ResponseBody): void; + public getExchange$okhttp(): okhttp3.internal.connection.Exchange; + public setCacheResponse$okhttp(param0: okhttp3.Response): void; + public request(param0: okhttp3.Request): okhttp3.Response.Builder; + public sentRequestAtMillis(param0: number): okhttp3.Response.Builder; + public setMessage$okhttp(param0: string): void; + public getPriorResponse$okhttp(): okhttp3.Response; + public priorResponse(param0: okhttp3.Response): okhttp3.Response.Builder; + public setPriorResponse$okhttp(param0: okhttp3.Response): void; + public initExchange$okhttp(param0: okhttp3.internal.connection.Exchange): void; + public getProtocol$okhttp(): okhttp3.Protocol; + public removeHeader(param0: string): okhttp3.Response.Builder; + public setHandshake$okhttp(param0: okhttp3.Handshake): void; + public setRequest$okhttp(param0: okhttp3.Request): void; + public getSentRequestAtMillis$okhttp(): number; + public setReceivedResponseAtMillis$okhttp(param0: number): void; + public setHeaders$okhttp(param0: okhttp3.Headers.Builder): void; + public getRequest$okhttp(): okhttp3.Request; + public setNetworkResponse$okhttp(param0: okhttp3.Response): void; + public getCacheResponse$okhttp(): okhttp3.Response; + public protocol(param0: okhttp3.Protocol): okhttp3.Response.Builder; + public receivedResponseAtMillis(param0: number): okhttp3.Response.Builder; + public body(param0: okhttp3.ResponseBody): okhttp3.Response.Builder; + public message(param0: string): okhttp3.Response.Builder; + public constructor(param0: okhttp3.Response); + public setExchange$okhttp(param0: okhttp3.internal.connection.Exchange): void; + public header(param0: string, param1: string): okhttp3.Response.Builder; + public getMessage$okhttp(): string; + public headers(param0: okhttp3.Headers): okhttp3.Response.Builder; + public setCode$okhttp(param0: number): void; + public getBody$okhttp(): okhttp3.ResponseBody; + public networkResponse(param0: okhttp3.Response): okhttp3.Response.Builder; + public constructor(); + public getReceivedResponseAtMillis$okhttp(): number; + public setProtocol$okhttp(param0: okhttp3.Protocol): void; + public handshake(param0: okhttp3.Handshake): okhttp3.Response.Builder; + public getCode$okhttp(): number; + public addHeader(param0: string, param1: string): okhttp3.Response.Builder; + public getHeaders$okhttp(): okhttp3.Headers.Builder; + public setSentRequestAtMillis$okhttp(param0: number): void; + public getNetworkResponse$okhttp(): okhttp3.Response; + public code(param0: number): okhttp3.Response.Builder; + public build(): okhttp3.Response; + public getHandshake$okhttp(): okhttp3.Handshake; + } + } +} + +declare module okhttp3 { + export abstract class ResponseBody extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public constructor(); + public byteStream(): java.io.InputStream; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: number, param2: okio.BufferedSource): okhttp3.ResponseBody; + public close(): void; + public static create(param0: androidNative.Array, param1: okhttp3.MediaType): okhttp3.ResponseBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: okio.ByteString): okhttp3.ResponseBody; + public byteString(): okio.ByteString; + public source(): okio.BufferedSource; + public static create(param0: string, param1: okhttp3.MediaType): okhttp3.ResponseBody; + public bytes(): androidNative.Array; + public static create(param0: okio.BufferedSource, param1: okhttp3.MediaType, param2: number): okhttp3.ResponseBody; + public charStream(): java.io.Reader; + public static create(param0: okio.ByteString, param1: okhttp3.MediaType): okhttp3.ResponseBody; + public contentType(): okhttp3.MediaType; + public string(): string; + public contentLength(): number; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: androidNative.Array): okhttp3.ResponseBody; + /** @deprecated */ + public static create(param0: okhttp3.MediaType, param1: string): okhttp3.ResponseBody; + } + export module ResponseBody { + export class BomAwareReader extends java.io.Reader { + public static class: java.lang.Class; + public read(param0: androidNative.Array): number; + public read(param0: java.nio.CharBuffer): number; + public constructor(); + public constructor(param0: okio.BufferedSource, param1: java.nio.charset.Charset); + public close(): void; + public read(param0: androidNative.Array, param1: number, param2: number): number; + public constructor(param0: any); + public read(): number; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public create(param0: androidNative.Array, param1: okhttp3.MediaType): okhttp3.ResponseBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: okio.ByteString): okhttp3.ResponseBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: string): okhttp3.ResponseBody; + public create(param0: okio.BufferedSource, param1: okhttp3.MediaType, param2: number): okhttp3.ResponseBody; + public create(param0: string, param1: okhttp3.MediaType): okhttp3.ResponseBody; + public create(param0: okio.ByteString, param1: okhttp3.MediaType): okhttp3.ResponseBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: number, param2: okio.BufferedSource): okhttp3.ResponseBody; + /** @deprecated */ + public create(param0: okhttp3.MediaType, param1: androidNative.Array): okhttp3.ResponseBody; + } + } +} + +declare module okhttp3 { + export class Route extends java.lang.Object { + public static class: java.lang.Class; + + public proxy(): java.net.Proxy; + public equals(param0: any): boolean; + public constructor(param0: okhttp3.Address, param1: java.net.Proxy, param2: java.net.InetSocketAddress); + public address(): okhttp3.Address; + public hashCode(): number; + + public toString(): string; + + public requiresTunnel(): boolean; + public socketAddress(): java.net.InetSocketAddress; + } +} + +declare module okhttp3 { + export class TlsVersion { + public static class: java.lang.Class; + public static TLS_1_3: okhttp3.TlsVersion; + public static TLS_1_2: okhttp3.TlsVersion; + public static TLS_1_1: okhttp3.TlsVersion; + public static TLS_1_0: okhttp3.TlsVersion; + public static SSL_3_0: okhttp3.TlsVersion; + public javaName(): string; + public static values(): androidNative.Array; + public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum; + + public static valueOf(param0: string): okhttp3.TlsVersion; + public static forJavaName(param0: string): okhttp3.TlsVersion; + } + export module TlsVersion { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public forJavaName(param0: string): okhttp3.TlsVersion; + } + } +} + +declare module okhttp3 { + export class WebSocket extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.WebSocket interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + request(): okhttp3.Request; + queueSize(): number; + send(param0: string): boolean; + send(param0: okio.ByteString): boolean; + close(param0: number, param1: string): boolean; + cancel(): void; + }); + public constructor(); + public send(param0: string): boolean; + public send(param0: okio.ByteString): boolean; + public close(param0: number, param1: string): boolean; + public request(): okhttp3.Request; + public queueSize(): number; + public cancel(): void; + } + export module WebSocket { + export class Factory extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.WebSocket$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + newWebSocket(param0: okhttp3.Request, param1: okhttp3.WebSocketListener): okhttp3.WebSocket; + }); + public constructor(); + public newWebSocket(param0: okhttp3.Request, param1: okhttp3.WebSocketListener): okhttp3.WebSocket; + } + } +} + +declare module okhttp3 { + export abstract class WebSocketListener extends java.lang.Object { + public static class: java.lang.Class; + public constructor(); + public onClosed(param0: okhttp3.WebSocket, param1: number, param2: string): void; + public onMessage(param0: okhttp3.WebSocket, param1: okio.ByteString): void; + public onFailure(param0: okhttp3.WebSocket, param1: java.lang.Throwable, param2: okhttp3.Response): void; + public onOpen(param0: okhttp3.WebSocket, param1: okhttp3.Response): void; + public onClosing(param0: okhttp3.WebSocket, param1: number, param2: string): void; + public onMessage(param0: okhttp3.WebSocket, param1: string): void; + } +} + +declare module okhttp3 { + export module internal { + export class Internal extends java.lang.Object { + public static class: java.lang.Class; + public static cacheGet(param0: okhttp3.Cache, param1: okhttp3.Request): okhttp3.Response; + public static addHeaderLenient(param0: okhttp3.Headers.Builder, param1: string, param2: string): okhttp3.Headers.Builder; + public static parseCookie(param0: number, param1: okhttp3.HttpUrl, param2: string): okhttp3.Cookie; + public static applyConnectionSpec(param0: okhttp3.ConnectionSpec, param1: javax.net.ssl.SSLSocket, param2: boolean): void; + public static cookieToString(param0: okhttp3.Cookie, param1: boolean): string; + public static addHeaderLenient(param0: okhttp3.Headers.Builder, param1: string): okhttp3.Headers.Builder; + } + } +} + +declare module okhttp3 { + export module internal { + export class SuppressSignatureCheck extends java.lang.Object implements java.lang.annotation.Annotation { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.SuppressSignatureCheck interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + equals(param0: any): boolean; + hashCode(): number; + toString(): string; + annotationType(): java.lang.Class; + }); + public constructor(); + public equals(param0: any): boolean; + public toString(): string; + public annotationType(): java.lang.Class; + public hashCode(): number; + } + } +} + +declare module okhttp3 { + export module internal { + export class Util extends java.lang.Object { + public static class: java.lang.Class; + public static EMPTY_BYTE_ARRAY: androidNative.Array; + public static EMPTY_HEADERS: okhttp3.Headers; + public static EMPTY_RESPONSE: okhttp3.ResponseBody; + public static EMPTY_REQUEST: okhttp3.RequestBody; + public static UTC: java.util.TimeZone; + public static assertionsEnabled: boolean; + public static okHttpName: string; + public static userAgent: string; + public static toHostHeader(param0: okhttp3.HttpUrl, param1: boolean): string; + public static toHeaderList(param0: okhttp3.Headers): java.util.List; + public static isSensitiveHeader(param0: string): boolean; + public static canReuseConnectionFor(param0: okhttp3.HttpUrl, param1: okhttp3.HttpUrl): boolean; + public static toLongOrDefault(param0: string, param1: number): number; + public static format(param0: string, param1: androidNative.Array): string; + public static withSuppressed(param0: java.lang.Exception, param1: java.util.List): java.lang.Throwable; + public static headersContentLength(param0: okhttp3.Response): number; + public static addIfAbsent(param0: java.util.List, param1: any): void; + public static canParseAsIpAddress(param0: string): boolean; + public static isHealthy(param0: java.net.Socket, param1: okio.BufferedSource): boolean; + public static asFactory(param0: okhttp3.EventListener): okhttp3.EventListener.Factory; + public static indexOfNonWhitespace(param0: string, param1: number): number; + public static parseHexDigit(param0: string): number; + public static isCivilized(param0: okhttp3.internal.io.FileSystem, param1: java.io.File): boolean; + public static readBomAsCharset(param0: okio.BufferedSource, param1: java.nio.charset.Charset): java.nio.charset.Charset; + public static indexOfLastNonAsciiWhitespace(param0: string, param1: number, param2: number): number; + public static discard(param0: okio.Source, param1: number, param2: java.util.concurrent.TimeUnit): boolean; + public static skipAll(param0: okio.Buffer, param1: number): number; + public static toHexString(param0: number): string; + public static intersect(param0: androidNative.Array, param1: androidNative.Array, param2: java.util.Comparator): androidNative.Array; + public static toImmutableList(param0: java.util.List): java.util.List; + public static assertThreadHoldsLock(param0: any): void; + public static notify(param0: any): void; + public static threadFactory(param0: string, param1: boolean): java.util.concurrent.ThreadFactory; + public static concat(param0: androidNative.Array, param1: string): androidNative.Array; + public static skipAll(param0: okio.Source, param1: number, param2: java.util.concurrent.TimeUnit): boolean; + public static checkOffsetAndCount(param0: number, param1: number, param2: number): void; + public wait(param0: number): void; + public static readFieldOrNull(param0: any, param1: java.lang.Class, param2: string): any; + public static filterList(param0: java.lang.Iterable, param1: any): java.util.List; + public static hasIntersection(param0: androidNative.Array, param1: androidNative.Array, param2: java.util.Comparator): boolean; + public static indexOfFirstNonAsciiWhitespace(param0: string, param1: number, param2: number): number; + public static toNonNegativeInt(param0: string, param1: number): number; + public static indexOfControlOrNonAscii(param0: string): number; + public static wait(param0: any): void; + public static delimiterOffset(param0: string, param1: string, param2: number, param3: number): number; + public static immutableListOf(param0: androidNative.Array): java.util.List; + public wait(): void; + public static ignoreIoExceptions(param0: any): void; + public static closeQuietly(param0: java.io.Closeable): void; + public static trimSubstring(param0: string, param1: number, param2: number): string; + public notify(): void; + public static closeQuietly(param0: java.net.Socket): void; + public static checkDuration(param0: string, param1: number, param2: java.util.concurrent.TimeUnit): number; + public static toImmutableMap(param0: java.util.Map): java.util.Map; + public static notifyAll(param0: any): void; + public static readMedium(param0: okio.BufferedSource): number; + public static toHeaders(param0: java.util.List): okhttp3.Headers; + public static peerName(param0: java.net.Socket): string; + public static assertThreadDoesntHoldLock(param0: any): void; + public wait(param0: number, param1: number): void; + public static indexOf(param0: androidNative.Array, param1: string, param2: java.util.Comparator): number; + public notifyAll(): void; + public static closeQuietly(param0: java.net.ServerSocket): void; + public static and(param0: number, param1: number): number; + public static writeMedium(param0: okio.BufferedSink, param1: number): void; + public static threadName(param0: string, param1: any): void; + } + } +} + +declare module okhttp3 { + export module internal { + export module authenticator { + export class JavaNetAuthenticator extends java.lang.Object implements okhttp3.Authenticator { + public static class: java.lang.Class; + public constructor(param0: okhttp3.Dns); + public authenticate(param0: okhttp3.Route, param1: okhttp3.Response): okhttp3.Request; + public constructor(); + } + export module JavaNetAuthenticator { + export class WhenMappings extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache { + export class CacheInterceptor extends java.lang.Object implements okhttp3.Interceptor { + public static class: java.lang.Class; + public intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + public getCache$okhttp(): okhttp3.Cache; + public constructor(param0: okhttp3.Cache); + } + export module CacheInterceptor { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache { + export class CacheRequest extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.cache.CacheRequest interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + body(): okio.Sink; + abort(): void; + }); + public constructor(); + public abort(): void; + public body(): okio.Sink; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache { + export class CacheStrategy extends java.lang.Object { + public static class: java.lang.Class; + public getNetworkRequest(): okhttp3.Request; + public getCacheResponse(): okhttp3.Response; + public constructor(param0: okhttp3.Request, param1: okhttp3.Response); + } + export module CacheStrategy { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public isCacheable(param0: okhttp3.Response, param1: okhttp3.Request): boolean; + } + export class Factory extends java.lang.Object { + public static class: java.lang.Class; + public compute(): okhttp3.internal.cache.CacheStrategy; + public constructor(param0: number, param1: okhttp3.Request, param2: okhttp3.Response); + public getRequest$okhttp(): okhttp3.Request; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache { + export class DiskLruCache extends java.lang.Object implements java.io.Closeable, java.io.Flushable { + public static class: java.lang.Class; + public static JOURNAL_FILE: string; + public static JOURNAL_FILE_TEMP: string; + public static JOURNAL_FILE_BACKUP: string; + public static MAGIC: string; + public static VERSION_1: string; + public static ANY_SEQUENCE_NUMBER: number; + public static LEGAL_KEY_PATTERN: any; + public static CLEAN: string; + public static DIRTY: string; + public static REMOVE: string; + public static READ: string; + public remove(param0: string): boolean; + public getClosed$okhttp(): boolean; + public edit(param0: string, param1: number): okhttp3.internal.cache.DiskLruCache.Editor; + public getDirectory(): java.io.File; + public getValueCount$okhttp(): number; + public get(param0: string): okhttp3.internal.cache.DiskLruCache.Snapshot; + public flush(): void; + public constructor(param0: okhttp3.internal.io.FileSystem, param1: java.io.File, param2: number, param3: number, param4: number, param5: okhttp3.internal.concurrent.TaskRunner); + public trimToSize(): void; + public delete(): void; + public getLruEntries$okhttp(): java.util.LinkedHashMap; + public evictAll(): void; + public rebuildJournal$okhttp(): void; + public close(): void; + public snapshots(): java.util.Iterator; + public isClosed(): boolean; + public size(): number; + public setMaxSize(param0: number): void; + public setClosed$okhttp(param0: boolean): void; + public edit(param0: string): okhttp3.internal.cache.DiskLruCache.Editor; + public initialize(): void; + public removeEntry$okhttp(param0: okhttp3.internal.cache.DiskLruCache.Entry): boolean; + public completeEdit$okhttp(param0: okhttp3.internal.cache.DiskLruCache.Editor, param1: boolean): void; + public getMaxSize(): number; + public getFileSystem$okhttp(): okhttp3.internal.io.FileSystem; + } + export module DiskLruCache { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export class Editor extends java.lang.Object { + public static class: java.lang.Class; + public detach$okhttp(): void; + public newSource(param0: number): okio.Source; + public commit(): void; + public newSink(param0: number): okio.Sink; + public getEntry$okhttp(): okhttp3.internal.cache.DiskLruCache.Entry; + public getWritten$okhttp(): androidNative.Array; + public constructor(param0: okhttp3.internal.cache.DiskLruCache.Entry); + public abort(): void; + } + export class Entry extends java.lang.Object { + public static class: java.lang.Class; + public getReadable$okhttp(): boolean; + public getLengths$okhttp(): androidNative.Array; + public constructor(param0: string); + public getZombie$okhttp(): boolean; + public snapshot$okhttp(): okhttp3.internal.cache.DiskLruCache.Snapshot; + public setReadable$okhttp(param0: boolean): void; + public writeLengths$okhttp(param0: okio.BufferedSink): void; + public setSequenceNumber$okhttp(param0: number): void; + public setLengths$okhttp(param0: java.util.List): void; + public getLockingSourceCount$okhttp(): number; + public setCurrentEditor$okhttp(param0: okhttp3.internal.cache.DiskLruCache.Editor): void; + public getCleanFiles$okhttp(): java.util.List; + public getSequenceNumber$okhttp(): number; + public getKey$okhttp(): string; + public setLockingSourceCount$okhttp(param0: number): void; + public getDirtyFiles$okhttp(): java.util.List; + public setZombie$okhttp(param0: boolean): void; + public getCurrentEditor$okhttp(): okhttp3.internal.cache.DiskLruCache.Editor; + } + export class Snapshot extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public constructor(param0: string, param1: number, param2: java.util.List, param3: androidNative.Array); + public close(): void; + public key(): string; + public getLength(param0: number): number; + public edit(): okhttp3.internal.cache.DiskLruCache.Editor; + public getSource(param0: number): okio.Source; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache { + export class FaultHidingSink extends okio.ForwardingSink { + public static class: java.lang.Class; + public close(): void; + public timeout(): okio.Timeout; + public getOnException(): any; + public constructor(param0: okio.Sink); + public constructor(param0: okio.Sink, param1: any); + public write(param0: okio.Buffer, param1: number): void; + public flush(): void; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache2 { + export class FileOperator extends java.lang.Object { + public static class: java.lang.Class; + public write(param0: number, param1: okio.Buffer, param2: number): void; + public read(param0: number, param1: okio.Buffer, param2: number): void; + public constructor(param0: java.nio.channels.FileChannel); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module cache2 { + export class Relay extends java.lang.Object { + public static class: java.lang.Class; + public static PREFIX_CLEAN: okio.ByteString; + public static PREFIX_DIRTY: okio.ByteString; + public commit(param0: number): void; + public newSource(): okio.Source; + public getUpstreamReader(): java.lang.Thread; + public getUpstreamBuffer(): okio.Buffer; + public setComplete(param0: boolean): void; + public getSourceCount(): number; + public metadata(): okio.ByteString; + public setFile(param0: java.io.RandomAccessFile): void; + public getUpstreamPos(): number; + public isClosed(): boolean; + public getComplete(): boolean; + public getFile(): java.io.RandomAccessFile; + public getBufferMaxSize(): number; + public setUpstream(param0: okio.Source): void; + public setUpstreamReader(param0: java.lang.Thread): void; + public setSourceCount(param0: number): void; + public getBuffer(): okio.Buffer; + public getUpstream(): okio.Source; + public setUpstreamPos(param0: number): void; + } + export module Relay { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public edit(param0: java.io.File, param1: okio.Source, param2: okio.ByteString, param3: number): okhttp3.internal.cache2.Relay; + public read(param0: java.io.File): okhttp3.internal.cache2.Relay; + } + export class RelaySource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public constructor(param0: okhttp3.internal.cache2.Relay); + public close(): void; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module concurrent { + export abstract class Task extends java.lang.Object { + public static class: java.lang.Class; + public getNextExecuteNanoTime$okhttp(): number; + public runOnce(): number; + public setNextExecuteNanoTime$okhttp(param0: number): void; + public setQueue$okhttp(param0: okhttp3.internal.concurrent.TaskQueue): void; + public constructor(param0: string, param1: boolean); + public getQueue$okhttp(): okhttp3.internal.concurrent.TaskQueue; + public getCancelable(): boolean; + public initQueue$okhttp(param0: okhttp3.internal.concurrent.TaskQueue): void; + public getName(): string; + public toString(): string; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module concurrent { + export class TaskQueue extends java.lang.Object { + public static class: java.lang.Class; + public getActiveTask$okhttp(): okhttp3.internal.concurrent.Task; + public constructor(param0: okhttp3.internal.concurrent.TaskRunner, param1: string); + public getName$okhttp(): string; + public toString(): string; + public scheduleAndDecide$okhttp(param0: okhttp3.internal.concurrent.Task, param1: number, param2: boolean): boolean; + public schedule(param0: string, param1: number, param2: any): void; + public getFutureTasks$okhttp(): java.util.List; + public getTaskRunner$okhttp(): okhttp3.internal.concurrent.TaskRunner; + public shutdown(): void; + public getCancelActiveTask$okhttp(): boolean; + public getScheduledTasks(): java.util.List; + public cancelAll(): void; + public getShutdown$okhttp(): boolean; + public execute(param0: string, param1: number, param2: boolean, param3: any): void; + public setShutdown$okhttp(param0: boolean): void; + public setActiveTask$okhttp(param0: okhttp3.internal.concurrent.Task): void; + public idleLatch(): java.util.concurrent.CountDownLatch; + public cancelAllAndDecide$okhttp(): boolean; + public schedule(param0: okhttp3.internal.concurrent.Task, param1: number): void; + public setCancelActiveTask$okhttp(param0: boolean): void; + } + export module TaskQueue { + export class AwaitIdleTask extends okhttp3.internal.concurrent.Task { + public static class: java.lang.Class; + public runOnce(): number; + public constructor(); + public constructor(param0: string, param1: boolean); + public getLatch(): java.util.concurrent.CountDownLatch; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module concurrent { + export class TaskRunner extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.concurrent.TaskRunner; + public kickCoordinator$okhttp(param0: okhttp3.internal.concurrent.TaskQueue): void; + public cancelAll(): void; + public activeQueues(): java.util.List; + public getBackend(): okhttp3.internal.concurrent.TaskRunner.Backend; + public constructor(param0: okhttp3.internal.concurrent.TaskRunner.Backend); + public awaitTaskToRun(): okhttp3.internal.concurrent.Task; + public newQueue(): okhttp3.internal.concurrent.TaskQueue; + } + export module TaskRunner { + export class Backend extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.concurrent.TaskRunner$Backend interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + beforeTask(param0: okhttp3.internal.concurrent.TaskRunner): void; + nanoTime(): number; + coordinatorNotify(param0: okhttp3.internal.concurrent.TaskRunner): void; + coordinatorWait(param0: okhttp3.internal.concurrent.TaskRunner, param1: number): void; + execute(param0: java.lang.Runnable): void; + }); + public constructor(); + public coordinatorWait(param0: okhttp3.internal.concurrent.TaskRunner, param1: number): void; + public execute(param0: java.lang.Runnable): void; + public coordinatorNotify(param0: okhttp3.internal.concurrent.TaskRunner): void; + public beforeTask(param0: okhttp3.internal.concurrent.TaskRunner): void; + public nanoTime(): number; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getLogger(): java.util.logging.Logger; + } + export class RealBackend extends java.lang.Object implements okhttp3.internal.concurrent.TaskRunner.Backend { + public static class: java.lang.Class; + public coordinatorWait(param0: okhttp3.internal.concurrent.TaskRunner, param1: number): void; + public execute(param0: java.lang.Runnable): void; + public shutdown(): void; + public coordinatorNotify(param0: okhttp3.internal.concurrent.TaskRunner): void; + public constructor(param0: java.util.concurrent.ThreadFactory); + public beforeTask(param0: okhttp3.internal.concurrent.TaskRunner): void; + public nanoTime(): number; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class ConnectInterceptor extends java.lang.Object implements okhttp3.Interceptor { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.connection.ConnectInterceptor; + public intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class ConnectionSpecSelector extends java.lang.Object { + public static class: java.lang.Class; + public constructor(param0: java.util.List); + public configureSecureSocket(param0: javax.net.ssl.SSLSocket): okhttp3.ConnectionSpec; + public connectionFailed(param0: java.io.IOException): boolean; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class Exchange extends java.lang.Object { + public static class: java.lang.Class; + public finishRequest(): void; + public getCall$okhttp(): okhttp3.internal.connection.RealCall; + public trailers(): okhttp3.Headers; + public getEventListener$okhttp(): okhttp3.EventListener; + public isDuplex$okhttp(): boolean; + public getConnection$okhttp(): okhttp3.internal.connection.RealConnection; + public readResponseHeaders(param0: boolean): okhttp3.Response.Builder; + public newWebSocketStreams(): okhttp3.internal.ws.RealWebSocket.Streams; + public writeRequestHeaders(param0: okhttp3.Request): void; + public responseHeadersStart(): void; + public noRequestBody(): void; + public isCoalescedConnection$okhttp(): boolean; + public getFinder$okhttp(): okhttp3.internal.connection.ExchangeFinder; + public detachWithViolence(): void; + public openResponseBody(param0: okhttp3.Response): okhttp3.ResponseBody; + public responseHeadersEnd(param0: okhttp3.Response): void; + public webSocketUpgradeFailed(): void; + public constructor(param0: okhttp3.internal.connection.RealCall, param1: okhttp3.EventListener, param2: okhttp3.internal.connection.ExchangeFinder, param3: okhttp3.internal.http.ExchangeCodec); + public createRequestBody(param0: okhttp3.Request, param1: boolean): okio.Sink; + public cancel(): void; + public flushRequest(): void; + public noNewExchangesOnConnection(): void; + public bodyComplete(param0: number, param1: boolean, param2: boolean, param3: java.io.IOException): java.io.IOException; + } + export module Exchange { + export class RequestBodySink extends okio.ForwardingSink { + public static class: java.lang.Class; + public close(): void; + public constructor(param0: okio.Sink); + public flush(): void; + public write(param0: okio.Buffer, param1: number): void; + public timeout(): okio.Timeout; + public constructor(param0: okio.Sink, param1: number); + } + export class ResponseBodySource extends okio.ForwardingSource { + public static class: java.lang.Class; + public constructor(param0: okio.Source, param1: number); + public close(): void; + public constructor(param0: okio.Source); + public complete(param0: java.io.IOException): java.io.IOException; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class ExchangeFinder extends java.lang.Object { + public static class: java.lang.Class; + public sameHostAndPort(param0: okhttp3.HttpUrl): boolean; + public getAddress$okhttp(): okhttp3.Address; + public find(param0: okhttp3.OkHttpClient, param1: okhttp3.internal.http.RealInterceptorChain): okhttp3.internal.http.ExchangeCodec; + public retryAfterFailure(): boolean; + public constructor(param0: okhttp3.internal.connection.RealConnectionPool, param1: okhttp3.Address, param2: okhttp3.internal.connection.RealCall, param3: okhttp3.EventListener); + public trackFailure(param0: java.io.IOException): void; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class RealCall extends java.lang.Object implements okhttp3.Call { + public static class: java.lang.Class; + public request(): okhttp3.Request; + public initExchange$okhttp(param0: okhttp3.internal.http.RealInterceptorChain): okhttp3.internal.connection.Exchange; + public getEventListener$okhttp(): okhttp3.EventListener; + public timeoutEarlyExit(): void; + public acquireConnectionNoEvents(param0: okhttp3.internal.connection.RealConnection): void; + public getResponseWithInterceptorChain$okhttp(): okhttp3.Response; + public getConnectionToCancel(): okhttp3.internal.connection.RealConnection; + public redactedUrl$okhttp(): string; + public isCanceled(): boolean; + public timeout(): okio.Timeout; + public setConnectionToCancel(param0: okhttp3.internal.connection.RealConnection): void; + public clone(): any; + public releaseConnectionNoEvents$okhttp(): java.net.Socket; + public cancel(): void; + public execute(): okhttp3.Response; + public getConnection(): okhttp3.internal.connection.RealConnection; + public noMoreExchanges$okhttp(param0: java.io.IOException): java.io.IOException; + public getForWebSocket(): boolean; + public enqueue(param0: okhttp3.Callback): void; + public enterNetworkInterceptorExchange(param0: okhttp3.Request, param1: boolean): void; + public messageDone$okhttp(param0: okhttp3.internal.connection.Exchange, param1: boolean, param2: boolean, param3: java.io.IOException): java.io.IOException; + public retryAfterFailure(): boolean; + public timeout(): okio.AsyncTimeout; + public getClient(): okhttp3.OkHttpClient; + public clone(): okhttp3.internal.connection.RealCall; + public exitNetworkInterceptorExchange$okhttp(param0: boolean): void; + public clone(): okhttp3.Call; + public getOriginalRequest(): okhttp3.Request; + public getInterceptorScopedExchange$okhttp(): okhttp3.internal.connection.Exchange; + public constructor(param0: okhttp3.OkHttpClient, param1: okhttp3.Request, param2: boolean); + public isExecuted(): boolean; + } + export module RealCall { + export class AsyncCall extends java.lang.Object implements java.lang.Runnable { + public static class: java.lang.Class; + public reuseCallsPerHostFrom(param0: okhttp3.internal.connection.RealCall.AsyncCall): void; + public getCallsPerHost(): java.util.concurrent.atomic.AtomicInteger; + public executeOn(param0: java.util.concurrent.ExecutorService): void; + public run(): void; + public getRequest(): okhttp3.Request; + public constructor(param0: okhttp3.Callback); + public getCall(): okhttp3.internal.connection.RealCall; + public getHost(): string; + } + export class CallReference extends java.lang.ref.WeakReference { + public static class: java.lang.Class; + public getCallStackTrace(): any; + public constructor(param0: okhttp3.internal.connection.RealCall, param1: any); + public constructor(param0: any); + public constructor(param0: any, param1: java.lang.ref.ReferenceQueue); + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class RealConnection extends okhttp3.internal.http2.Http2Connection.Listener implements okhttp3.Connection { + public static class: java.lang.Class; + public static IDLE_CONNECTION_HEALTHY_NS: number; + public newWebSocketStreams$okhttp(param0: okhttp3.internal.connection.Exchange): okhttp3.internal.ws.RealWebSocket.Streams; + public connect(param0: number, param1: number, param2: number, param3: number, param4: boolean, param5: okhttp3.Call, param6: okhttp3.EventListener): void; + public protocol(): okhttp3.Protocol; + public socket(): java.net.Socket; + public noNewExchanges$okhttp(): void; + public constructor(); + public trackFailure$okhttp(param0: okhttp3.internal.connection.RealCall, param1: java.io.IOException): void; + public isHealthy(param0: boolean): boolean; + public getConnectionPool(): okhttp3.internal.connection.RealConnectionPool; + public cancel(): void; + public handshake(): okhttp3.Handshake; + public getCalls(): java.util.List>; + public constructor(param0: okhttp3.internal.connection.RealConnectionPool, param1: okhttp3.Route); + public isMultiplexed$okhttp(): boolean; + public onSettings(param0: okhttp3.internal.http2.Http2Connection, param1: okhttp3.internal.http2.Settings): void; + public getRouteFailureCount$okhttp(): number; + public setIdleAtNs$okhttp(param0: number): void; + public route(): okhttp3.Route; + public setNoNewExchanges(param0: boolean): void; + public noCoalescedConnections$okhttp(): void; + public isEligible$okhttp(param0: okhttp3.Address, param1: java.util.List): boolean; + public toString(): string; + public onStream(param0: okhttp3.internal.http2.Http2Stream): void; + public newCodec$okhttp(param0: okhttp3.OkHttpClient, param1: okhttp3.internal.http.RealInterceptorChain): okhttp3.internal.http.ExchangeCodec; + public incrementSuccessCount$okhttp(): void; + public getIdleAtNs$okhttp(): number; + public connectFailed$okhttp(param0: okhttp3.OkHttpClient, param1: okhttp3.Route, param2: java.io.IOException): void; + public getNoNewExchanges(): boolean; + public setRouteFailureCount$okhttp(param0: number): void; + } + export module RealConnection { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public newTestConnection(param0: okhttp3.internal.connection.RealConnectionPool, param1: okhttp3.Route, param2: java.net.Socket, param3: number): okhttp3.internal.connection.RealConnection; + } + export class WhenMappings extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class RealConnectionPool extends java.lang.Object { + public static class: java.lang.Class; + public cleanup(param0: number): number; + public connectionCount(): number; + public callAcquirePooledConnection(param0: okhttp3.Address, param1: okhttp3.internal.connection.RealCall, param2: java.util.List, param3: boolean): boolean; + public constructor(param0: okhttp3.internal.concurrent.TaskRunner, param1: number, param2: number, param3: java.util.concurrent.TimeUnit); + public put(param0: okhttp3.internal.connection.RealConnection): void; + public evictAll(): void; + public idleConnectionCount(): number; + public connectionBecameIdle(param0: okhttp3.internal.connection.RealConnection): boolean; + } + export module RealConnectionPool { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public get(param0: okhttp3.ConnectionPool): okhttp3.internal.connection.RealConnectionPool; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class RouteDatabase extends java.lang.Object { + public static class: java.lang.Class; + public shouldPostpone(param0: okhttp3.Route): boolean; + public connected(param0: okhttp3.Route): void; + public failed(param0: okhttp3.Route): void; + public constructor(); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class RouteException extends java.lang.RuntimeException { + public static class: java.lang.Class; + public getLastConnectException(): java.io.IOException; + public constructor(param0: java.io.IOException); + public addConnectException(param0: java.io.IOException): void; + public getFirstConnectException(): java.io.IOException; + public constructor(param0: string, param1: java.lang.Throwable); + public constructor(param0: java.lang.Throwable); + public constructor(param0: string); + public constructor(); + public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module connection { + export class RouteSelector extends java.lang.Object { + public static class: java.lang.Class; + public next(): okhttp3.internal.connection.RouteSelector.Selection; + public constructor(param0: okhttp3.Address, param1: okhttp3.internal.connection.RouteDatabase, param2: okhttp3.Call, param3: okhttp3.EventListener); + public hasNext(): boolean; + } + export module RouteSelector { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getSocketHost(param0: java.net.InetSocketAddress): string; + } + export class Selection extends java.lang.Object { + public static class: java.lang.Class; + public next(): okhttp3.Route; + public constructor(param0: java.util.List); + public getRoutes(): java.util.List; + public hasNext(): boolean; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class BridgeInterceptor extends java.lang.Object implements okhttp3.Interceptor { + public static class: java.lang.Class; + public intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + public constructor(param0: okhttp3.CookieJar); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class CallServerInterceptor extends java.lang.Object implements okhttp3.Interceptor { + public static class: java.lang.Class; + public intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + public constructor(param0: boolean); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class ExchangeCodec extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.http.ExchangeCodec interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + getConnection(): okhttp3.internal.connection.RealConnection; + createRequestBody(param0: okhttp3.Request, param1: number): okio.Sink; + writeRequestHeaders(param0: okhttp3.Request): void; + flushRequest(): void; + finishRequest(): void; + readResponseHeaders(param0: boolean): okhttp3.Response.Builder; + reportedContentLength(param0: okhttp3.Response): number; + openResponseBodySource(param0: okhttp3.Response): okio.Source; + trailers(): okhttp3.Headers; + cancel(): void; + (): void; + }); + public constructor(); + public static DISCARD_STREAM_TIMEOUT_MILLIS: number; + public finishRequest(): void; + public trailers(): okhttp3.Headers; + public reportedContentLength(param0: okhttp3.Response): number; + public openResponseBodySource(param0: okhttp3.Response): okio.Source; + public readResponseHeaders(param0: boolean): okhttp3.Response.Builder; + public cancel(): void; + public flushRequest(): void; + public createRequestBody(param0: okhttp3.Request, param1: number): okio.Sink; + public writeRequestHeaders(param0: okhttp3.Request): void; + public getConnection(): okhttp3.internal.connection.RealConnection; + } + export module ExchangeCodec { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public static DISCARD_STREAM_TIMEOUT_MILLIS: number; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class HttpHeaders extends java.lang.Object { + public static class: java.lang.Class; + public static receiveHeaders(param0: okhttp3.CookieJar, param1: okhttp3.HttpUrl, param2: okhttp3.Headers): void; + public static promisesBody(param0: okhttp3.Response): boolean; + /** @deprecated */ + public static hasBody(param0: okhttp3.Response): boolean; + public static parseChallenges(param0: okhttp3.Headers, param1: string): java.util.List; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class HttpMethod extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.http.HttpMethod; + public static requiresRequestBody(param0: string): boolean; + public static permitsRequestBody(param0: string): boolean; + public redirectsToGet(param0: string): boolean; + public redirectsWithBody(param0: string): boolean; + public invalidatesCache(param0: string): boolean; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class RealInterceptorChain extends java.lang.Object implements okhttp3.Interceptor.Chain { + public static class: java.lang.Class; + public request(): okhttp3.Request; + public getConnectTimeoutMillis$okhttp(): number; + public getCall$okhttp(): okhttp3.internal.connection.RealCall; + public getRequest$okhttp(): okhttp3.Request; + public connectTimeoutMillis(): number; + public getReadTimeoutMillis$okhttp(): number; + public getWriteTimeoutMillis$okhttp(): number; + public withWriteTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + public constructor(param0: okhttp3.internal.connection.RealCall, param1: java.util.List, param2: number, param3: okhttp3.internal.connection.Exchange, param4: okhttp3.Request, param5: number, param6: number, param7: number); + public connection(): okhttp3.Connection; + public writeTimeoutMillis(): number; + public copy$okhttp(param0: number, param1: okhttp3.internal.connection.Exchange, param2: okhttp3.Request, param3: number, param4: number, param5: number): okhttp3.internal.http.RealInterceptorChain; + public readTimeoutMillis(): number; + public call(): okhttp3.Call; + public withConnectTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + public proceed(param0: okhttp3.Request): okhttp3.Response; + public getExchange$okhttp(): okhttp3.internal.connection.Exchange; + public withReadTimeout(param0: number, param1: java.util.concurrent.TimeUnit): okhttp3.Interceptor.Chain; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class RealResponseBody extends okhttp3.ResponseBody { + public static class: java.lang.Class; + public close(): void; + public contentLength(): number; + public constructor(param0: string, param1: number, param2: okio.BufferedSource); + public source(): okio.BufferedSource; + public contentType(): okhttp3.MediaType; + public constructor(); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class RequestLine extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.http.RequestLine; + public get(param0: okhttp3.Request, param1: java.net.Proxy.Type): string; + public requestPath(param0: okhttp3.HttpUrl): string; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class RetryAndFollowUpInterceptor extends java.lang.Object implements okhttp3.Interceptor { + public static class: java.lang.Class; + public constructor(param0: okhttp3.OkHttpClient); + public intercept(param0: okhttp3.Interceptor.Chain): okhttp3.Response; + } + export module RetryAndFollowUpInterceptor { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http { + export class StatusLine extends java.lang.Object { + public static class: java.lang.Class; + public protocol: okhttp3.Protocol; + public code: number; + public message: string; + public static HTTP_TEMP_REDIRECT: number; + public static HTTP_PERM_REDIRECT: number; + public static HTTP_MISDIRECTED_REQUEST: number; + public static HTTP_CONTINUE: number; + public constructor(param0: okhttp3.Protocol, param1: number, param2: string); + public toString(): string; + } + export module StatusLine { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public parse(param0: string): okhttp3.internal.http.StatusLine; + public get(param0: okhttp3.Response): okhttp3.internal.http.StatusLine; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http1 { + export class HeadersReader extends java.lang.Object { + public static class: java.lang.Class; + public readHeaders(): okhttp3.Headers; + public constructor(param0: okio.BufferedSource); + public getSource(): okio.BufferedSource; + public readLine(): string; + } + export module HeadersReader { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http1 { + export class Http1ExchangeCodec extends java.lang.Object implements okhttp3.internal.http.ExchangeCodec { + public static class: java.lang.Class; + public finishRequest(): void; + public trailers(): okhttp3.Headers; + public openResponseBodySource(param0: okhttp3.Response): okio.Source; + public isClosed(): boolean; + public readResponseHeaders(param0: boolean): okhttp3.Response.Builder; + public skipConnectBody(param0: okhttp3.Response): void; + public writeRequestHeaders(param0: okhttp3.Request): void; + public writeRequest(param0: okhttp3.Headers, param1: string): void; + public reportedContentLength(param0: okhttp3.Response): number; + public cancel(): void; + public flushRequest(): void; + public createRequestBody(param0: okhttp3.Request, param1: number): okio.Sink; + public constructor(param0: okhttp3.OkHttpClient, param1: okhttp3.internal.connection.RealConnection, param2: okio.BufferedSource, param3: okio.BufferedSink); + public getConnection(): okhttp3.internal.connection.RealConnection; + } + export module Http1ExchangeCodec { + export abstract class AbstractSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public responseBodyComplete(): void; + public constructor(param0: okhttp3.internal.http1.Http1ExchangeCodec); + public getTimeout(): okio.ForwardingTimeout; + public getClosed(): boolean; + public close(): void; + public timeout(): okio.Timeout; + public setClosed(param0: boolean): void; + public read(param0: okio.Buffer, param1: number): number; + } + export class ChunkedSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public constructor(param0: okhttp3.internal.http1.Http1ExchangeCodec); + public close(): void; + public flush(): void; + public write(param0: okio.Buffer, param1: number): void; + public timeout(): okio.Timeout; + } + export class ChunkedSource extends okhttp3.internal.http1.Http1ExchangeCodec.AbstractSource { + public static class: java.lang.Class; + public constructor(param0: okhttp3.internal.http1.Http1ExchangeCodec); + public constructor(param0: okhttp3.HttpUrl); + public close(): void; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export class FixedLengthSource extends okhttp3.internal.http1.Http1ExchangeCodec.AbstractSource { + public static class: java.lang.Class; + public constructor(param0: okhttp3.internal.http1.Http1ExchangeCodec); + public close(): void; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + public constructor(param0: number); + } + export class KnownLengthSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public constructor(param0: okhttp3.internal.http1.Http1ExchangeCodec); + public close(): void; + public flush(): void; + public write(param0: okio.Buffer, param1: number): void; + public timeout(): okio.Timeout; + } + export class UnknownLengthSource extends okhttp3.internal.http1.Http1ExchangeCodec.AbstractSource { + public static class: java.lang.Class; + public constructor(param0: okhttp3.internal.http1.Http1ExchangeCodec); + public close(): void; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class ConnectionShutdownException extends java.io.IOException { + public static class: java.lang.Class; + public constructor(param0: string, param1: java.lang.Throwable); + public constructor(param0: java.lang.Throwable); + public constructor(param0: string); + public constructor(); + public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class ErrorCode { + public static class: java.lang.Class; + public static NO_ERROR: okhttp3.internal.http2.ErrorCode; + public static PROTOCOL_ERROR: okhttp3.internal.http2.ErrorCode; + public static INTERNAL_ERROR: okhttp3.internal.http2.ErrorCode; + public static FLOW_CONTROL_ERROR: okhttp3.internal.http2.ErrorCode; + public static SETTINGS_TIMEOUT: okhttp3.internal.http2.ErrorCode; + public static STREAM_CLOSED: okhttp3.internal.http2.ErrorCode; + public static FRAME_SIZE_ERROR: okhttp3.internal.http2.ErrorCode; + public static REFUSED_STREAM: okhttp3.internal.http2.ErrorCode; + public static CANCEL: okhttp3.internal.http2.ErrorCode; + public static COMPRESSION_ERROR: okhttp3.internal.http2.ErrorCode; + public static CONNECT_ERROR: okhttp3.internal.http2.ErrorCode; + public static ENHANCE_YOUR_CALM: okhttp3.internal.http2.ErrorCode; + public static INADEQUATE_SECURITY: okhttp3.internal.http2.ErrorCode; + public static HTTP_1_1_REQUIRED: okhttp3.internal.http2.ErrorCode; + public static values(): androidNative.Array; + public static valueOf(param0: string): okhttp3.internal.http2.ErrorCode; + public getHttpCode(): number; + public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum; + } + export module ErrorCode { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public fromHttp2(param0: number): okhttp3.internal.http2.ErrorCode; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Header extends java.lang.Object { + public static class: java.lang.Class; + public hpackSize: number; + public name: okio.ByteString; + public value: okio.ByteString; + public static PSEUDO_PREFIX: okio.ByteString; + public static RESPONSE_STATUS_UTF8: string; + public static TARGET_METHOD_UTF8: string; + public static TARGET_PATH_UTF8: string; + public static TARGET_SCHEME_UTF8: string; + public static TARGET_AUTHORITY_UTF8: string; + public static RESPONSE_STATUS: okio.ByteString; + public static TARGET_METHOD: okio.ByteString; + public static TARGET_PATH: okio.ByteString; + public static TARGET_SCHEME: okio.ByteString; + public static TARGET_AUTHORITY: okio.ByteString; + public constructor(param0: okio.ByteString, param1: okio.ByteString); + public component2(): okio.ByteString; + public hashCode(): number; + public copy(param0: okio.ByteString, param1: okio.ByteString): okhttp3.internal.http2.Header; + public equals(param0: any): boolean; + public constructor(param0: okio.ByteString, param1: string); + public component1(): okio.ByteString; + public toString(): string; + public constructor(param0: string, param1: string); + } + export module Header { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Hpack extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.http2.Hpack; + public checkLowercase(param0: okio.ByteString): okio.ByteString; + public getSTATIC_HEADER_TABLE(): androidNative.Array; + public getNAME_TO_FIRST_INDEX(): java.util.Map; + } + export module Hpack { + export class Reader extends java.lang.Object { + public static class: java.lang.Class; + public dynamicTable: androidNative.Array; + public headerCount: number; + public dynamicTableByteCount: number; + public maxDynamicTableByteCount(): number; + public constructor(param0: okio.Source, param1: number, param2: number); + public constructor(param0: okio.Source, param1: number); + public readHeaders(): void; + public readByteString(): okio.ByteString; + public getAndResetHeaderList(): java.util.List; + public readInt(param0: number, param1: number): number; + } + export class Writer extends java.lang.Object { + public static class: java.lang.Class; + public maxDynamicTableByteCount: number; + public dynamicTable: androidNative.Array; + public headerCount: number; + public dynamicTableByteCount: number; + public headerTableSizeSetting: number; + public writeByteString(param0: okio.ByteString): void; + public writeHeaders(param0: java.util.List): void; + public constructor(param0: number, param1: okio.Buffer); + public constructor(param0: number, param1: boolean, param2: okio.Buffer); + public resizeHeaderTable(param0: number): void; + public writeInt(param0: number, param1: number, param2: number): void; + public constructor(param0: okio.Buffer); + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Http2 extends java.lang.Object { + public static class: java.lang.Class; + public static CONNECTION_PREFACE: okio.ByteString; + public static INITIAL_MAX_FRAME_SIZE: number; + public static TYPE_DATA: number; + public static TYPE_HEADERS: number; + public static TYPE_PRIORITY: number; + public static TYPE_RST_STREAM: number; + public static TYPE_SETTINGS: number; + public static TYPE_PUSH_PROMISE: number; + public static TYPE_PING: number; + public static TYPE_GOAWAY: number; + public static TYPE_WINDOW_UPDATE: number; + public static TYPE_CONTINUATION: number; + public static FLAG_NONE: number; + public static FLAG_ACK: number; + public static FLAG_END_STREAM: number; + public static FLAG_END_HEADERS: number; + public static FLAG_END_PUSH_PROMISE: number; + public static FLAG_PADDED: number; + public static FLAG_PRIORITY: number; + public static FLAG_COMPRESSED: number; + public static INSTANCE: okhttp3.internal.http2.Http2; + public formattedType$okhttp(param0: number): string; + public formatFlags(param0: number, param1: number): string; + public frameLog(param0: boolean, param1: number, param2: number, param3: number, param4: number): string; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Http2Connection extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public static OKHTTP_CLIENT_WINDOW_SIZE: number; + public static INTERVAL_PING: number; + public static DEGRADED_PING: number; + public static AWAIT_PING: number; + public static DEGRADED_PONG_TIMEOUT_NS: number; + public pushedStream$okhttp(param0: number): boolean; + public getListener$okhttp(): okhttp3.internal.http2.Http2Connection.Listener; + public openStreamCount(): number; + public flush(): void; + public getConnectionName$okhttp(): string; + public getWriter(): okhttp3.internal.http2.Http2Writer; + public writeHeaders$okhttp(param0: number, param1: boolean, param2: java.util.List): void; + public pushDataLater$okhttp(param0: number, param1: okio.BufferedSource, param2: number, param3: boolean): void; + public constructor(param0: okhttp3.internal.http2.Http2Connection.Builder); + public start(param0: boolean, param1: okhttp3.internal.concurrent.TaskRunner): void; + public close(): void; + public removeStream$okhttp(param0: number): okhttp3.internal.http2.Http2Stream; + public getSocket$okhttp(): java.net.Socket; + public writePingAndAwaitPong(): void; + public getStream(param0: number): okhttp3.internal.http2.Http2Stream; + public setSettings(param0: okhttp3.internal.http2.Settings): void; + public isHealthy(param0: number): boolean; + public getReadBytesAcknowledged(): number; + public writePing(): void; + public pushHeadersLater$okhttp(param0: number, param1: java.util.List, param2: boolean): void; + public updateConnectionFlowControl$okhttp(param0: number): void; + public newStream(param0: java.util.List, param1: boolean): okhttp3.internal.http2.Http2Stream; + public getPeerSettings(): okhttp3.internal.http2.Settings; + public getWriteBytesMaximum(): number; + public getReadBytesTotal(): number; + public pushResetLater$okhttp(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public getClient$okhttp(): boolean; + public pushStream(param0: number, param1: java.util.List, param2: boolean): okhttp3.internal.http2.Http2Stream; + public writeSynReset$okhttp(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public getOkHttpSettings(): okhttp3.internal.http2.Settings; + public setNextStreamId$okhttp(param0: number): void; + public writePing(param0: boolean, param1: number, param2: number): void; + public getReaderRunnable(): okhttp3.internal.http2.Http2Connection.ReaderRunnable; + public writeWindowUpdateLater$okhttp(param0: number, param1: number): void; + public getLastGoodStreamId$okhttp(): number; + public awaitPong(): void; + public writeSynResetLater$okhttp(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public setLastGoodStreamId$okhttp(param0: number): void; + public start(): void; + public getNextStreamId$okhttp(): number; + public setPeerSettings(param0: okhttp3.internal.http2.Settings): void; + public close$okhttp(param0: okhttp3.internal.http2.ErrorCode, param1: okhttp3.internal.http2.ErrorCode, param2: java.io.IOException): void; + public writeData(param0: number, param1: boolean, param2: okio.Buffer, param3: number): void; + public start(param0: boolean): void; + public sendDegradedPingLater$okhttp(): void; + public shutdown(param0: okhttp3.internal.http2.ErrorCode): void; + public pushRequestLater$okhttp(param0: number, param1: java.util.List): void; + public getStreams$okhttp(): java.util.Map; + public getWriteBytesTotal(): number; + } + export module Http2Connection { + export class Builder extends java.lang.Object { + public static class: java.lang.Class; + public connectionName: string; + public source: okio.BufferedSource; + public sink: okio.BufferedSink; + public setPushObserver$okhttp(param0: okhttp3.internal.http2.PushObserver): void; + public listener(param0: okhttp3.internal.http2.Http2Connection.Listener): okhttp3.internal.http2.Http2Connection.Builder; + public build(): okhttp3.internal.http2.Http2Connection; + public setSocket$okhttp(param0: java.net.Socket): void; + public socket(param0: java.net.Socket, param1: string, param2: okio.BufferedSource): okhttp3.internal.http2.Http2Connection.Builder; + public getClient$okhttp(): boolean; + public pushObserver(param0: okhttp3.internal.http2.PushObserver): okhttp3.internal.http2.Http2Connection.Builder; + public setClient$okhttp(param0: boolean): void; + public getSocket$okhttp(): java.net.Socket; + public getListener$okhttp(): okhttp3.internal.http2.Http2Connection.Listener; + public socket(param0: java.net.Socket, param1: string): okhttp3.internal.http2.Http2Connection.Builder; + public pingIntervalMillis(param0: number): okhttp3.internal.http2.Http2Connection.Builder; + public constructor(param0: boolean, param1: okhttp3.internal.concurrent.TaskRunner); + public setConnectionName$okhttp(param0: string): void; + public setPingIntervalMillis$okhttp(param0: number): void; + public getSource$okhttp(): okio.BufferedSource; + public setListener$okhttp(param0: okhttp3.internal.http2.Http2Connection.Listener): void; + public socket(param0: java.net.Socket, param1: string, param2: okio.BufferedSource, param3: okio.BufferedSink): okhttp3.internal.http2.Http2Connection.Builder; + public getConnectionName$okhttp(): string; + public getPushObserver$okhttp(): okhttp3.internal.http2.PushObserver; + public getSink$okhttp(): okio.BufferedSink; + public setSink$okhttp(param0: okio.BufferedSink): void; + public getPingIntervalMillis$okhttp(): number; + public setSource$okhttp(param0: okio.BufferedSource): void; + public getTaskRunner$okhttp(): okhttp3.internal.concurrent.TaskRunner; + public socket(param0: java.net.Socket): okhttp3.internal.http2.Http2Connection.Builder; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getDEFAULT_SETTINGS(): okhttp3.internal.http2.Settings; + } + export abstract class Listener extends java.lang.Object { + public static class: java.lang.Class; + public static REFUSE_INCOMING_STREAMS: okhttp3.internal.http2.Http2Connection.Listener; + public onStream(param0: okhttp3.internal.http2.Http2Stream): void; + public constructor(); + public onSettings(param0: okhttp3.internal.http2.Http2Connection, param1: okhttp3.internal.http2.Settings): void; + } + export module Listener { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + export class ReaderRunnable extends java.lang.Object { + public static class: java.lang.Class; + public ackSettings(): void; + public invoke(): void; + public headers(param0: boolean, param1: number, param2: number, param3: java.util.List): void; + public priority(param0: number, param1: number, param2: number, param3: boolean): void; + public applyAndAckSettings(param0: boolean, param1: okhttp3.internal.http2.Settings): void; + public pushPromise(param0: number, param1: number, param2: java.util.List): void; + public constructor(param0: okhttp3.internal.http2.Http2Reader); + public settings(param0: boolean, param1: okhttp3.internal.http2.Settings): void; + public getReader$okhttp(): okhttp3.internal.http2.Http2Reader; + public alternateService(param0: number, param1: string, param2: okio.ByteString, param3: string, param4: number, param5: number): void; + public data(param0: boolean, param1: number, param2: okio.BufferedSource, param3: number): void; + public rstStream(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public goAway(param0: number, param1: okhttp3.internal.http2.ErrorCode, param2: okio.ByteString): void; + public windowUpdate(param0: number, param1: number): void; + public ping(param0: boolean, param1: number, param2: number): void; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Http2ExchangeCodec extends java.lang.Object implements okhttp3.internal.http.ExchangeCodec { + public static class: java.lang.Class; + public finishRequest(): void; + public trailers(): okhttp3.Headers; + public reportedContentLength(param0: okhttp3.Response): number; + public openResponseBodySource(param0: okhttp3.Response): okio.Source; + public constructor(param0: okhttp3.OkHttpClient, param1: okhttp3.internal.connection.RealConnection, param2: okhttp3.internal.http.RealInterceptorChain, param3: okhttp3.internal.http2.Http2Connection); + public readResponseHeaders(param0: boolean): okhttp3.Response.Builder; + public cancel(): void; + public flushRequest(): void; + public createRequestBody(param0: okhttp3.Request, param1: number): okio.Sink; + public writeRequestHeaders(param0: okhttp3.Request): void; + public getConnection(): okhttp3.internal.connection.RealConnection; + } + export module Http2ExchangeCodec { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public http2HeadersList(param0: okhttp3.Request): java.util.List; + public readHttp2HeadersList(param0: okhttp3.Headers, param1: okhttp3.Protocol): okhttp3.Response.Builder; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Http2Reader extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public close(): void; + public nextFrame(param0: boolean, param1: okhttp3.internal.http2.Http2Reader.Handler): boolean; + public readConnectionPreface(param0: okhttp3.internal.http2.Http2Reader.Handler): void; + public constructor(param0: okio.BufferedSource, param1: boolean); + } + export module Http2Reader { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getLogger(): java.util.logging.Logger; + public lengthWithoutPadding(param0: number, param1: number, param2: number): number; + } + export class ContinuationSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public getFlags(): number; + public setStreamId(param0: number): void; + public getLength(): number; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + public setLength(param0: number): void; + public constructor(param0: okio.BufferedSource); + public getStreamId(): number; + public getPadding(): number; + public setPadding(param0: number): void; + public setFlags(param0: number): void; + public close(): void; + public getLeft(): number; + public setLeft(param0: number): void; + } + export class Handler extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.http2.Http2Reader$Handler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + data(param0: boolean, param1: number, param2: okio.BufferedSource, param3: number): void; + headers(param0: boolean, param1: number, param2: number, param3: java.util.List): void; + rstStream(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + settings(param0: boolean, param1: okhttp3.internal.http2.Settings): void; + ackSettings(): void; + ping(param0: boolean, param1: number, param2: number): void; + goAway(param0: number, param1: okhttp3.internal.http2.ErrorCode, param2: okio.ByteString): void; + windowUpdate(param0: number, param1: number): void; + priority(param0: number, param1: number, param2: number, param3: boolean): void; + pushPromise(param0: number, param1: number, param2: java.util.List): void; + alternateService(param0: number, param1: string, param2: okio.ByteString, param3: string, param4: number, param5: number): void; + }); + public constructor(); + public settings(param0: boolean, param1: okhttp3.internal.http2.Settings): void; + public alternateService(param0: number, param1: string, param2: okio.ByteString, param3: string, param4: number, param5: number): void; + public ackSettings(): void; + public data(param0: boolean, param1: number, param2: okio.BufferedSource, param3: number): void; + public headers(param0: boolean, param1: number, param2: number, param3: java.util.List): void; + public priority(param0: number, param1: number, param2: number, param3: boolean): void; + public pushPromise(param0: number, param1: number, param2: java.util.List): void; + public rstStream(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public goAway(param0: number, param1: okhttp3.internal.http2.ErrorCode, param2: okio.ByteString): void; + public windowUpdate(param0: number, param1: number): void; + public ping(param0: boolean, param1: number, param2: number): void; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Http2Stream extends java.lang.Object { + public static class: java.lang.Class; + public static EMIT_BUFFER_SIZE: number; + public getSource(): okio.Source; + public closeLater(param0: okhttp3.internal.http2.ErrorCode): void; + public enqueueTrailers(param0: okhttp3.Headers): void; + public setWriteBytesTotal$okhttp(param0: number): void; + public trailers(): okhttp3.Headers; + public writeHeaders(param0: java.util.List, param1: boolean, param2: boolean): void; + public cancelStreamIfNecessary$okhttp(): void; + public getReadTimeout$okhttp(): okhttp3.internal.http2.Http2Stream.StreamTimeout; + public readTimeout(): okio.Timeout; + public getErrorCode$okhttp(): okhttp3.internal.http2.ErrorCode; + public addBytesToWriteWindow(param0: number): void; + public getSink(): okio.Sink; + public checkOutNotClosed$okhttp(): void; + public isLocallyInitiated(): boolean; + public setErrorCode$okhttp(param0: okhttp3.internal.http2.ErrorCode): void; + public writeTimeout(): okio.Timeout; + public getId(): number; + public receiveRstStream(param0: okhttp3.internal.http2.ErrorCode): void; + public setWriteBytesMaximum$okhttp(param0: number): void; + public getSource$okhttp(): okhttp3.internal.http2.Http2Stream.FramingSource; + public getWriteTimeout$okhttp(): okhttp3.internal.http2.Http2Stream.StreamTimeout; + public receiveHeaders(param0: okhttp3.Headers, param1: boolean): void; + public setReadBytesAcknowledged$okhttp(param0: number): void; + public getReadBytesAcknowledged(): number; + public takeHeaders(): okhttp3.Headers; + public setReadBytesTotal$okhttp(param0: number): void; + public getWriteBytesTotal(): number; + public close(param0: okhttp3.internal.http2.ErrorCode, param1: java.io.IOException): void; + public getSink$okhttp(): okhttp3.internal.http2.Http2Stream.FramingSink; + public getErrorException$okhttp(): java.io.IOException; + public getConnection(): okhttp3.internal.http2.Http2Connection; + public isOpen(): boolean; + public receiveData(param0: okio.BufferedSource, param1: number): void; + public waitForIo$okhttp(): void; + public getWriteBytesMaximum(): number; + public getReadBytesTotal(): number; + public setErrorException$okhttp(param0: java.io.IOException): void; + public constructor(param0: number, param1: okhttp3.internal.http2.Http2Connection, param2: boolean, param3: boolean, param4: okhttp3.Headers); + } + export module Http2Stream { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export class FramingSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public getTrailers(): okhttp3.Headers; + public constructor(param0: boolean); + public setTrailers(param0: okhttp3.Headers): void; + public getFinished(): boolean; + public getClosed(): boolean; + public close(): void; + public flush(): void; + public write(param0: okio.Buffer, param1: number): void; + public timeout(): okio.Timeout; + public setClosed(param0: boolean): void; + public setFinished(param0: boolean): void; + } + export class FramingSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public getTrailers(): okhttp3.Headers; + public receive$okhttp(param0: okio.BufferedSource, param1: number): void; + public setTrailers(param0: okhttp3.Headers): void; + public getFinished$okhttp(): boolean; + public timeout(): okio.Timeout; + public read(param0: okio.Buffer, param1: number): number; + public constructor(param0: number, param1: boolean); + public getReadBuffer(): okio.Buffer; + public getClosed$okhttp(): boolean; + public setFinished$okhttp(param0: boolean): void; + public close(): void; + public getReceiveBuffer(): okio.Buffer; + public setClosed$okhttp(param0: boolean): void; + } + export class StreamTimeout extends okio.AsyncTimeout { + public static class: java.lang.Class; + public timedOut(): void; + public newTimeoutException(param0: java.io.IOException): java.io.IOException; + public exitAndThrowIfTimedOut(): void; + public constructor(); + public constructor(param0: okhttp3.internal.http2.Http2Stream); + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Http2Writer extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public close(): void; + public getHpackWriter(): okhttp3.internal.http2.Hpack.Writer; + public dataFrame(param0: number, param1: number, param2: okio.Buffer, param3: number): void; + public settings(param0: okhttp3.internal.http2.Settings): void; + public ping(param0: boolean, param1: number, param2: number): void; + public constructor(param0: okio.BufferedSink, param1: boolean); + public windowUpdate(param0: number, param1: number): void; + public frameHeader(param0: number, param1: number, param2: number, param3: number): void; + public maxDataLength(): number; + public flush(): void; + public connectionPreface(): void; + public goAway(param0: number, param1: okhttp3.internal.http2.ErrorCode, param2: androidNative.Array): void; + public pushPromise(param0: number, param1: number, param2: java.util.List): void; + public data(param0: boolean, param1: number, param2: okio.Buffer, param3: number): void; + public rstStream(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public headers(param0: boolean, param1: number, param2: java.util.List): void; + public applyAndAckSettings(param0: okhttp3.internal.http2.Settings): void; + } + export module Http2Writer { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Huffman extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.http2.Huffman; + public encodedLength(param0: okio.ByteString): number; + public encode(param0: okio.ByteString, param1: okio.BufferedSink): void; + public decode(param0: okio.BufferedSource, param1: number, param2: okio.BufferedSink): void; + } + export module Huffman { + export class Node extends java.lang.Object { + public static class: java.lang.Class; + public getSymbol(): number; + public getChildren(): androidNative.Array; + public constructor(); + public getTerminalBitCount(): number; + public constructor(param0: number, param1: number); + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class PushObserver extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.http2.PushObserver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + onRequest(param0: number, param1: java.util.List): boolean; + onHeaders(param0: number, param1: java.util.List, param2: boolean): boolean; + onData(param0: number, param1: okio.BufferedSource, param2: number, param3: boolean): boolean; + onReset(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + (): void; + }); + public constructor(); + public static CANCEL: okhttp3.internal.http2.PushObserver; + public onRequest(param0: number, param1: java.util.List): boolean; + public onHeaders(param0: number, param1: java.util.List, param2: boolean): boolean; + public onData(param0: number, param1: okio.BufferedSource, param2: number, param3: boolean): boolean; + public onReset(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + } + export module PushObserver { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export module Companion { + export class PushObserverCancel extends java.lang.Object implements okhttp3.internal.http2.PushObserver { + public static class: java.lang.Class; + public onRequest(param0: number, param1: java.util.List): boolean; + public onHeaders(param0: number, param1: java.util.List, param2: boolean): boolean; + public onReset(param0: number, param1: okhttp3.internal.http2.ErrorCode): void; + public constructor(); + public onData(param0: number, param1: okio.BufferedSource, param2: number, param3: boolean): boolean; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class Settings extends java.lang.Object { + public static class: java.lang.Class; + public static DEFAULT_INITIAL_WINDOW_SIZE: number; + public static HEADER_TABLE_SIZE: number; + public static ENABLE_PUSH: number; + public static MAX_CONCURRENT_STREAMS: number; + public static MAX_FRAME_SIZE: number; + public static MAX_HEADER_LIST_SIZE: number; + public static INITIAL_WINDOW_SIZE: number; + public static COUNT: number; + public merge(param0: okhttp3.internal.http2.Settings): void; + public getHeaderTableSize(): number; + public getEnablePush(param0: boolean): boolean; + public get(param0: number): number; + public getInitialWindowSize(): number; + public size(): number; + public constructor(); + public getMaxConcurrentStreams(): number; + public clear(): void; + public isSet(param0: number): boolean; + public getMaxFrameSize(param0: number): number; + public set(param0: number, param1: number): okhttp3.internal.http2.Settings; + public getMaxHeaderListSize(param0: number): number; + } + export module Settings { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module http2 { + export class StreamResetException extends java.io.IOException { + public static class: java.lang.Class; + public errorCode: okhttp3.internal.http2.ErrorCode; + public constructor(param0: okhttp3.internal.http2.ErrorCode); + public constructor(param0: string, param1: java.lang.Throwable); + public constructor(param0: java.lang.Throwable); + public constructor(param0: string); + public constructor(); + public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module io { + export class FileSystem extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.io.FileSystem interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + source(param0: java.io.File): okio.Source; + sink(param0: java.io.File): okio.Sink; + appendingSink(param0: java.io.File): okio.Sink; + delete(param0: java.io.File): void; + exists(param0: java.io.File): boolean; + size(param0: java.io.File): number; + rename(param0: java.io.File, param1: java.io.File): void; + deleteContents(param0: java.io.File): void; + (): void; + }); + public constructor(); + public static SYSTEM: okhttp3.internal.io.FileSystem; + public source(param0: java.io.File): okio.Source; + public size(param0: java.io.File): number; + public deleteContents(param0: java.io.File): void; + public appendingSink(param0: java.io.File): okio.Sink; + public sink(param0: java.io.File): okio.Sink; + public exists(param0: java.io.File): boolean; + public rename(param0: java.io.File, param1: java.io.File): void; + public delete(param0: java.io.File): void; + } + export module FileSystem { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export module Companion { + export class SystemFileSystem extends java.lang.Object implements okhttp3.internal.io.FileSystem { + public static class: java.lang.Class; + public source(param0: java.io.File): okio.Source; + public appendingSink(param0: java.io.File): okio.Sink; + public constructor(); + public sink(param0: java.io.File): okio.Sink; + public delete(param0: java.io.File): void; + public size(param0: java.io.File): number; + public deleteContents(param0: java.io.File): void; + public exists(param0: java.io.File): boolean; + public rename(param0: java.io.File, param1: java.io.File): void; + public toString(): string; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class Android10Platform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public buildCertificateChainCleaner(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.tls.CertificateChainCleaner; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public isCleartextTrafficPermitted(param0: string): boolean; + public constructor(); + } + export module Android10Platform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public isSupported(): boolean; + public buildIfSupported(): okhttp3.internal.platform.Platform; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class AndroidPlatform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public buildCertificateChainCleaner(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.tls.CertificateChainCleaner; + public connectSocket(param0: java.net.Socket, param1: java.net.InetSocketAddress, param2: number): void; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public logCloseableLeak(param0: string, param1: any): void; + public getStackTraceForCloseable(param0: string): any; + public buildTrustRootIndex(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.tls.TrustRootIndex; + public isCleartextTrafficPermitted(param0: string): boolean; + public constructor(); + } + export module AndroidPlatform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public isSupported(): boolean; + public buildIfSupported(): okhttp3.internal.platform.Platform; + } + export class CustomTrustRootIndex extends java.lang.Object implements okhttp3.internal.tls.TrustRootIndex { + public static class: java.lang.Class; + public constructor(param0: javax.net.ssl.X509TrustManager, param1: java.lang.reflect.Method); + public equals(param0: any): boolean; + public findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; + public toString(): string; + public copy(param0: javax.net.ssl.X509TrustManager, param1: java.lang.reflect.Method): okhttp3.internal.platform.AndroidPlatform.CustomTrustRootIndex; + public hashCode(): number; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class BouncyCastlePlatform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public newSSLContext(): javax.net.ssl.SSLContext; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public platformTrustManager(): javax.net.ssl.X509TrustManager; + } + export module BouncyCastlePlatform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public isSupported(): boolean; + public buildIfSupported(): okhttp3.internal.platform.BouncyCastlePlatform; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class ConscryptPlatform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public newSslSocketFactory(param0: javax.net.ssl.X509TrustManager): javax.net.ssl.SSLSocketFactory; + public newSSLContext(): javax.net.ssl.SSLContext; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public platformTrustManager(): javax.net.ssl.X509TrustManager; + } + export module ConscryptPlatform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public isSupported(): boolean; + public buildIfSupported(): okhttp3.internal.platform.ConscryptPlatform; + public atLeastVersion(param0: number, param1: number, param2: number): boolean; + } + export class DisabledHostnameVerifier extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.platform.ConscryptPlatform.DisabledHostnameVerifier; + public verify(param0: androidNative.Array, param1: string, param2: javax.net.ssl.SSLSession): boolean; + public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class Jdk8WithJettyBootPlatform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public afterHandshake(param0: javax.net.ssl.SSLSocket): void; + public constructor(param0: java.lang.reflect.Method, param1: java.lang.reflect.Method, param2: java.lang.reflect.Method, param3: java.lang.Class, param4: java.lang.Class); + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public constructor(); + } + export module Jdk8WithJettyBootPlatform { + export class AlpnProvider extends java.lang.Object implements java.lang.reflect.InvocationHandler { + public static class: java.lang.Class; + public getSelected(): string; + public setUnsupported(param0: boolean): void; + public getUnsupported(): boolean; + public setSelected(param0: string): void; + public invoke(param0: any, param1: java.lang.reflect.Method, param2: androidNative.Array): any; + public constructor(param0: java.util.List); + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public buildIfSupported(): okhttp3.internal.platform.Platform; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class Jdk9Platform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public constructor(); + } + export module Jdk9Platform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public buildIfSupported(): okhttp3.internal.platform.Jdk9Platform; + public isAvailable(): boolean; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class OpenJSSEPlatform extends okhttp3.internal.platform.Platform { + public static class: java.lang.Class; + public newSSLContext(): javax.net.ssl.SSLContext; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public platformTrustManager(): javax.net.ssl.X509TrustManager; + } + export module OpenJSSEPlatform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public isSupported(): boolean; + public buildIfSupported(): okhttp3.internal.platform.OpenJSSEPlatform; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export class Platform extends java.lang.Object { + public static class: java.lang.Class; + public static INFO: number; + public static WARN: number; + public newSslSocketFactory(param0: javax.net.ssl.X509TrustManager): javax.net.ssl.SSLSocketFactory; + public getPrefix(): string; + public newSSLContext(): javax.net.ssl.SSLContext; + public connectSocket(param0: java.net.Socket, param1: java.net.InetSocketAddress, param2: number): void; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public logCloseableLeak(param0: string, param1: any): void; + public buildTrustRootIndex(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.tls.TrustRootIndex; + public toString(): string; + public isCleartextTrafficPermitted(param0: string): boolean; + public constructor(); + public buildCertificateChainCleaner(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.tls.CertificateChainCleaner; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public afterHandshake(param0: javax.net.ssl.SSLSocket): void; + public log(param0: string, param1: number, param2: java.lang.Throwable): void; + public platformTrustManager(): javax.net.ssl.X509TrustManager; + public getStackTraceForCloseable(param0: string): any; + public static get(): okhttp3.internal.platform.Platform; + } + export module Platform { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public concatLengthPrefixed(param0: java.util.List): androidNative.Array; + public isAndroid(): boolean; + public alpnProtocolNames(param0: java.util.List): java.util.List; + public resetForTests(param0: okhttp3.internal.platform.Platform): void; + public get(): okhttp3.internal.platform.Platform; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class Android10SocketAdapter extends java.lang.Object implements okhttp3.internal.platform.android.SocketAdapter { + public static class: java.lang.Class; + public isSupported(): boolean; + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public constructor(); + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + } + export module Android10SocketAdapter { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public buildIfSupported(): okhttp3.internal.platform.android.SocketAdapter; + public isSupported(): boolean; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class AndroidCertificateChainCleaner extends okhttp3.internal.tls.CertificateChainCleaner { + public static class: java.lang.Class; + public equals(param0: any): boolean; + public constructor(param0: javax.net.ssl.X509TrustManager, param1: globalAndroid.net.http.X509TrustManagerExtensions); + public constructor(); + public clean(param0: java.util.List, param1: string): java.util.List; + public hashCode(): number; + } + export module AndroidCertificateChainCleaner { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public buildIfSupported(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.platform.android.AndroidCertificateChainCleaner; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class AndroidLog extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.platform.android.AndroidLog; + public androidLog$okhttp(param0: string, param1: number, param2: string, param3: java.lang.Throwable): void; + public enable(): void; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class AndroidLogHandler extends java.util.logging.Handler { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.platform.android.AndroidLogHandler; + public publish(param0: java.util.logging.LogRecord): void; + public close(): void; + public flush(): void; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class AndroidSocketAdapter extends java.lang.Object implements okhttp3.internal.platform.android.SocketAdapter { + public static class: java.lang.Class; + public isSupported(): boolean; + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public constructor(param0: java.lang.Class); + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + } + export module AndroidSocketAdapter { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getPlayProviderFactory(): okhttp3.internal.platform.android.DeferredSocketAdapter.Factory; + public factory(param0: string): okhttp3.internal.platform.android.DeferredSocketAdapter.Factory; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class BouncyCastleSocketAdapter extends java.lang.Object implements okhttp3.internal.platform.android.SocketAdapter { + public static class: java.lang.Class; + public isSupported(): boolean; + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public constructor(); + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + } + export module BouncyCastleSocketAdapter { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getFactory(): okhttp3.internal.platform.android.DeferredSocketAdapter.Factory; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class CloseGuard extends java.lang.Object { + public static class: java.lang.Class; + public warnIfOpen(param0: any): boolean; + public createAndOpen(param0: string): any; + public constructor(param0: java.lang.reflect.Method, param1: java.lang.reflect.Method, param2: java.lang.reflect.Method); + } + export module CloseGuard { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public get(): okhttp3.internal.platform.android.CloseGuard; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class ConscryptSocketAdapter extends java.lang.Object implements okhttp3.internal.platform.android.SocketAdapter { + public static class: java.lang.Class; + public isSupported(): boolean; + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public constructor(); + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + } + export module ConscryptSocketAdapter { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public getFactory(): okhttp3.internal.platform.android.DeferredSocketAdapter.Factory; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class DeferredSocketAdapter extends java.lang.Object implements okhttp3.internal.platform.android.SocketAdapter { + public static class: java.lang.Class; + public isSupported(): boolean; + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public constructor(param0: okhttp3.internal.platform.android.DeferredSocketAdapter.Factory); + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + } + export module DeferredSocketAdapter { + export class Factory extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.platform.android.DeferredSocketAdapter$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + create(param0: javax.net.ssl.SSLSocket): okhttp3.internal.platform.android.SocketAdapter; + }); + public constructor(); + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public create(param0: javax.net.ssl.SSLSocket): okhttp3.internal.platform.android.SocketAdapter; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class SocketAdapter extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.platform.android.SocketAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + isSupported(): boolean; + trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + }); + public constructor(); + public isSupported(): boolean; + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + } + export module SocketAdapter { + export class DefaultImpls extends java.lang.Object { + public static class: java.lang.Class; + public static trustManager(param0: okhttp3.internal.platform.android.SocketAdapter, param1: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + public static matchesSocketFactory(param0: okhttp3.internal.platform.android.SocketAdapter, param1: javax.net.ssl.SSLSocketFactory): boolean; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module platform { + export module android { + export class StandardAndroidSocketAdapter extends okhttp3.internal.platform.android.AndroidSocketAdapter { + public static class: java.lang.Class; + public isSupported(): boolean; + public constructor(param0: java.lang.Class, param1: java.lang.Class, param2: java.lang.Class); + public matchesSocket(param0: javax.net.ssl.SSLSocket): boolean; + public constructor(param0: java.lang.Class); + public configureTlsExtensions(param0: javax.net.ssl.SSLSocket, param1: string, param2: java.util.List): void; + public getSelectedProtocol(param0: javax.net.ssl.SSLSocket): string; + public matchesSocketFactory(param0: javax.net.ssl.SSLSocketFactory): boolean; + public trustManager(param0: javax.net.ssl.SSLSocketFactory): javax.net.ssl.X509TrustManager; + } + export module StandardAndroidSocketAdapter { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public buildIfSupported(param0: string): okhttp3.internal.platform.android.SocketAdapter; + } + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module proxy { + export class NullProxySelector extends java.net.ProxySelector { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.proxy.NullProxySelector; + public select(param0: java.net.URI): java.util.List; + public connectFailed(param0: java.net.URI, param1: java.net.SocketAddress, param2: java.io.IOException): void; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module publicsuffix { + export class PublicSuffixDatabase extends java.lang.Object { + public static class: java.lang.Class; + public static PUBLIC_SUFFIX_RESOURCE: string; + public getEffectiveTldPlusOne(param0: string): string; + public setListBytes(param0: androidNative.Array, param1: androidNative.Array): void; + public constructor(); + } + export module PublicSuffixDatabase { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public get(): okhttp3.internal.publicsuffix.PublicSuffixDatabase; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module tls { + export class BasicCertificateChainCleaner extends okhttp3.internal.tls.CertificateChainCleaner { + public static class: java.lang.Class; + public hashCode(): number; + public equals(param0: any): boolean; + public constructor(param0: okhttp3.internal.tls.TrustRootIndex); + public clean(param0: java.util.List, param1: string): java.util.List; + public constructor(); + } + export module BasicCertificateChainCleaner { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module tls { + export class BasicTrustRootIndex extends java.lang.Object implements okhttp3.internal.tls.TrustRootIndex { + public static class: java.lang.Class; + public hashCode(): number; + public equals(param0: any): boolean; + public findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; + public constructor(param0: androidNative.Array); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module tls { + export abstract class CertificateChainCleaner extends java.lang.Object { + public static class: java.lang.Class; + public clean(param0: java.util.List, param1: string): java.util.List; + public constructor(); + } + export module CertificateChainCleaner { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public get(param0: androidNative.Array): okhttp3.internal.tls.CertificateChainCleaner; + public get(param0: javax.net.ssl.X509TrustManager): okhttp3.internal.tls.CertificateChainCleaner; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module tls { + export class OkHostnameVerifier extends java.lang.Object implements javax.net.ssl.HostnameVerifier { + public static class: java.lang.Class; + public static INSTANCE: okhttp3.internal.tls.OkHostnameVerifier; + public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean; + public allSubjectAltNames(param0: java.security.cert.X509Certificate): java.util.List; + public verify(param0: string, param1: java.security.cert.X509Certificate): boolean; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module tls { + export class TrustRootIndex extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.tls.TrustRootIndex interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; + }); + public constructor(); + public findByIssuerAndSignature(param0: java.security.cert.X509Certificate): java.security.cert.X509Certificate; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class MessageDeflater extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public close(): void; + public deflate(param0: okio.Buffer): void; + public constructor(param0: boolean); + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class MessageInflater extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public close(): void; + public constructor(param0: boolean); + public inflate(param0: okio.Buffer): void; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class RealWebSocket extends java.lang.Object implements okhttp3.WebSocket, okhttp3.internal.ws.WebSocketReader.FrameCallback { + public static class: java.lang.Class; + public static DEFAULT_MINIMUM_DEFLATE_SIZE: number; + public request(): okhttp3.Request; + public send(param0: string): boolean; + public onReadPong(param0: okio.ByteString): void; + public onReadPing(param0: okio.ByteString): void; + public pong(param0: okio.ByteString): boolean; + public constructor(param0: okhttp3.internal.concurrent.TaskRunner, param1: okhttp3.Request, param2: okhttp3.WebSocketListener, param3: java.util.Random, param4: number, param5: okhttp3.internal.ws.WebSocketExtensions, param6: number); + public loopReader(): void; + public receivedPongCount(): number; + public send(param0: okio.ByteString): boolean; + public onReadMessage(param0: okio.ByteString): void; + public failWebSocket(param0: java.lang.Exception, param1: okhttp3.Response): void; + public checkUpgradeSuccess$okhttp(param0: okhttp3.Response, param1: okhttp3.internal.connection.Exchange): void; + public close(param0: number, param1: string, param2: number): boolean; + public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): void; + public cancel(): void; + public onReadClose(param0: number, param1: string): void; + public processNextFrame(): boolean; + public onReadMessage(param0: string): void; + public receivedPingCount(): number; + public writeOneFrame$okhttp(): boolean; + public initReaderAndWriter(param0: string, param1: okhttp3.internal.ws.RealWebSocket.Streams): void; + public queueSize(): number; + public close(param0: number, param1: string): boolean; + public tearDown(): void; + public writePingFrame$okhttp(): void; + public getListener$okhttp(): okhttp3.WebSocketListener; + public sentPingCount(): number; + public connect(param0: okhttp3.OkHttpClient): void; + } + export module RealWebSocket { + export class Close extends java.lang.Object { + public static class: java.lang.Class; + public getCancelAfterCloseMillis(): number; + public getReason(): okio.ByteString; + public constructor(param0: number, param1: okio.ByteString, param2: number); + public getCode(): number; + } + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + export class Message extends java.lang.Object { + public static class: java.lang.Class; + public getData(): okio.ByteString; + public getFormatOpcode(): number; + public constructor(param0: number, param1: okio.ByteString); + } + export abstract class Streams extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public getSink(): okio.BufferedSink; + public constructor(param0: boolean, param1: okio.BufferedSource, param2: okio.BufferedSink); + public getClient(): boolean; + public close(): void; + public getSource(): okio.BufferedSource; + } + export class WriterTask extends okhttp3.internal.concurrent.Task { + public static class: java.lang.Class; + public runOnce(): number; + public constructor(param0: string, param1: boolean); + public constructor(param0: okhttp3.internal.ws.RealWebSocket); + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class WebSocketExtensions extends java.lang.Object { + public static class: java.lang.Class; + public perMessageDeflate: boolean; + public clientMaxWindowBits: java.lang.Integer; + public clientNoContextTakeover: boolean; + public serverMaxWindowBits: java.lang.Integer; + public serverNoContextTakeover: boolean; + public unknownValues: boolean; + public noContextTakeover(param0: boolean): boolean; + public constructor(param0: boolean, param1: java.lang.Integer, param2: boolean, param3: java.lang.Integer, param4: boolean, param5: boolean); + public component1(): boolean; + public component5(): boolean; + public toString(): string; + public constructor(); + public component3(): boolean; + public copy(param0: boolean, param1: java.lang.Integer, param2: boolean, param3: java.lang.Integer, param4: boolean, param5: boolean): okhttp3.internal.ws.WebSocketExtensions; + public hashCode(): number; + public equals(param0: any): boolean; + public component6(): boolean; + public component2(): java.lang.Integer; + public component4(): java.lang.Integer; + } + export module WebSocketExtensions { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public parse(param0: okhttp3.Headers): okhttp3.internal.ws.WebSocketExtensions; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class WebSocketProtocol extends java.lang.Object { + public static class: java.lang.Class; + public static ACCEPT_MAGIC: string; + public static B0_FLAG_FIN: number; + public static B0_FLAG_RSV1: number; + public static B0_FLAG_RSV2: number; + public static B0_FLAG_RSV3: number; + public static B0_MASK_OPCODE: number; + public static OPCODE_FLAG_CONTROL: number; + public static B1_FLAG_MASK: number; + public static B1_MASK_LENGTH: number; + public static OPCODE_CONTINUATION: number; + public static OPCODE_TEXT: number; + public static OPCODE_BINARY: number; + public static OPCODE_CONTROL_CLOSE: number; + public static OPCODE_CONTROL_PING: number; + public static OPCODE_CONTROL_PONG: number; + public static PAYLOAD_BYTE_MAX: number; + public static CLOSE_MESSAGE_MAX: number; + public static PAYLOAD_SHORT: number; + public static PAYLOAD_SHORT_MAX: number; + public static PAYLOAD_LONG: number; + public static CLOSE_CLIENT_GOING_AWAY: number; + public static CLOSE_NO_STATUS_CODE: number; + public static INSTANCE: okhttp3.internal.ws.WebSocketProtocol; + public validateCloseCode(param0: number): void; + public closeCodeExceptionMessage(param0: number): string; + public acceptHeader(param0: string): string; + public toggleMask(param0: okio.Buffer.UnsafeCursor, param1: androidNative.Array): void; + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class WebSocketReader extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public processNextFrame(): void; + public close(): void; + public getSource(): okio.BufferedSource; + public constructor(param0: boolean, param1: okio.BufferedSource, param2: okhttp3.internal.ws.WebSocketReader.FrameCallback, param3: boolean, param4: boolean); + } + export module WebSocketReader { + export class FrameCallback extends java.lang.Object { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okhttp3.internal.ws.WebSocketReader$FrameCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + onReadMessage(param0: string): void; + onReadMessage(param0: okio.ByteString): void; + onReadPing(param0: okio.ByteString): void; + onReadPong(param0: okio.ByteString): void; + onReadClose(param0: number, param1: string): void; + }); + public constructor(); + public onReadClose(param0: number, param1: string): void; + public onReadMessage(param0: string): void; + public onReadMessage(param0: okio.ByteString): void; + public onReadPing(param0: okio.ByteString): void; + public onReadPong(param0: okio.ByteString): void; + } + } + } + } +} + +declare module okhttp3 { + export module internal { + export module ws { + export class WebSocketWriter extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public constructor(param0: boolean, param1: okio.BufferedSink, param2: java.util.Random, param3: boolean, param4: boolean, param5: number); + public close(): void; + public writePing(param0: okio.ByteString): void; + public writeClose(param0: number, param1: okio.ByteString): void; + public getRandom(): java.util.Random; + public writePong(param0: okio.ByteString): void; + public writeMessageFrame(param0: number, param1: okio.ByteString): void; + public getSink(): okio.BufferedSink; + } + } + } +} + +declare module okio { + export class AsyncTimeout extends okio.Timeout { + public static class: java.lang.Class; + public enter(): void; + public sink(param0: okio.Sink): okio.Sink; + public access$newTimeoutException(param0: java.io.IOException): java.io.IOException; + public constructor(); + public withTimeout(param0: any): any; + public timedOut(): void; + public newTimeoutException(param0: java.io.IOException): java.io.IOException; + public source(param0: okio.Source): okio.Source; + public exit(): boolean; + } + export module AsyncTimeout { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public awaitTimeout$okio(): okio.AsyncTimeout; + } + export class Watchdog extends java.lang.Thread { + public static class: java.lang.Class; + public constructor(param0: java.lang.Runnable); + public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string); + public constructor(param0: java.lang.Runnable, param1: string); + public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string, param3: number); + public run(): void; + public constructor(); + public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable); + public constructor(param0: java.lang.ThreadGroup, param1: string); + public constructor(param0: string); + } + } +} + +declare module okio { + export class BlackholeSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public constructor(); + public close(): void; + public write(param0: okio.Buffer, param1: number): void; + public flush(): void; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class Buffer extends java.lang.Object implements okio.BufferedSource, okio.BufferedSink, java.lang.Cloneable, java.nio.channels.ByteChannel { + public static class: java.lang.Class; + public head: okio.Segment; + public readIntLe(): number; + public writeUtf8(param0: string): okio.Buffer; + public writeDecimalLong(param0: number): okio.Buffer; + public readFrom(param0: java.io.InputStream, param1: number): okio.Buffer; + public writeUtf8(param0: string, param1: number, param2: number): okio.Buffer; + public readUtf8(param0: number): string; + public copyTo(param0: java.io.OutputStream): okio.Buffer; + public writeUtf8CodePoint(param0: number): okio.BufferedSink; + public writeUtf8(param0: string, param1: number, param2: number): okio.BufferedSink; + public indexOf(param0: number): number; + public copy(): okio.Buffer; + public readByte(): number; + public emitCompleteSegments(): okio.BufferedSink; + public write(param0: okio.ByteString, param1: number, param2: number): okio.Buffer; + public readLong(): number; + public read(param0: okio.Buffer, param1: number): number; + public writeIntLe(param0: number): okio.BufferedSink; + public write(param0: androidNative.Array, param1: number, param2: number): okio.Buffer; + public copyTo(param0: okio.Buffer, param1: number, param2: number): okio.Buffer; + public indexOfElement(param0: okio.ByteString): number; + public write(param0: java.nio.ByteBuffer): number; + public readAll(param0: okio.Sink): number; + public sha1(): okio.ByteString; + public write(param0: okio.ByteString): okio.BufferedSink; + public select(param0: okio.Options): number; + public readFrom(param0: java.io.InputStream): okio.Buffer; + public writeTo(param0: java.io.OutputStream): okio.Buffer; + public outputStream(): java.io.OutputStream; + public clear(): void; + public require(param0: number): void; + public request(param0: number): boolean; + public indexOf(param0: okio.ByteString, param1: number): number; + public readString(param0: java.nio.charset.Charset): string; + public writeLongLe(param0: number): okio.Buffer; + public writeLong(param0: number): okio.BufferedSink; + public writeString(param0: string, param1: java.nio.charset.Charset): okio.Buffer; + public writeByte(param0: number): okio.BufferedSink; + public readUtf8LineStrict(): string; + public writeUtf8CodePoint(param0: number): okio.Buffer; + public writeInt(param0: number): okio.BufferedSink; + public hmacSha512(param0: okio.ByteString): okio.ByteString; + public readByteArray(param0: number): androidNative.Array; + public getBuffer(): okio.Buffer; + public sha512(): okio.ByteString; + public writeShort(param0: number): okio.BufferedSink; + public setSize$okio(param0: number): void; + public rangeEquals(param0: number, param1: okio.ByteString, param2: number, param3: number): boolean; + public skip(param0: number): void; + public getByte(param0: number): number; + public write(param0: okio.ByteString, param1: number, param2: number): okio.BufferedSink; + public readInt(): number; + public writeString(param0: string, param1: number, param2: number, param3: java.nio.charset.Charset): okio.Buffer; + public write(param0: androidNative.Array): okio.BufferedSink; + public read(param0: androidNative.Array, param1: number, param2: number): number; + public copyTo(param0: java.io.OutputStream, param1: number, param2: number): okio.Buffer; + public writeTo(param0: java.io.OutputStream, param1: number): okio.Buffer; + public writeAll(param0: okio.Source): number; + public timeout(): okio.Timeout; + public equals(param0: any): boolean; + public close(): void; + public writeDecimalLong(param0: number): okio.BufferedSink; + public inputStream(): java.io.InputStream; + public readUtf8LineStrict(param0: number): string; + public write(param0: okio.ByteString): okio.Buffer; + public readByteArray(): androidNative.Array; + public writeHexadecimalUnsignedLong(param0: number): okio.Buffer; + public writeShortLe(param0: number): okio.BufferedSink; + public writeUtf8(param0: string): okio.BufferedSink; + public copyTo(param0: java.io.OutputStream, param1: number): okio.Buffer; + public readUtf8CodePoint(): number; + public read(param0: androidNative.Array): number; + public writeShortLe(param0: number): okio.Buffer; + public readAndWriteUnsafe(): okio.Buffer.UnsafeCursor; + public snapshot(param0: number): okio.ByteString; + public writeHexadecimalUnsignedLong(param0: number): okio.BufferedSink; + public readHexadecimalUnsignedLong(): number; + public emit(): okio.BufferedSink; + public writeInt(param0: number): okio.Buffer; + public constructor(); + public readUnsafe(param0: okio.Buffer.UnsafeCursor): okio.Buffer.UnsafeCursor; + public readUtf8(): string; + + /** @deprecated */ + public buffer(): okio.Buffer; + public write(param0: okio.Buffer, param1: number): void; + public readByteString(param0: number): okio.ByteString; + public writeShort(param0: number): okio.Buffer; + public readUnsafe(): okio.Buffer.UnsafeCursor; + public completeSegmentByteCount(): number; + public toString(): string; + public md5(): okio.ByteString; + public flush(): void; + public writeString(param0: string, param1: java.nio.charset.Charset): okio.BufferedSink; + public writeLongLe(param0: number): okio.BufferedSink; + public readAndWriteUnsafe(param0: okio.Buffer.UnsafeCursor): okio.Buffer.UnsafeCursor; + public readShort(): number; + public peek(): okio.BufferedSource; + public writableSegment$okio(param0: number): okio.Segment; + public write(param0: androidNative.Array): okio.Buffer; + public readShortLe(): number; + public write(param0: okio.Source, param1: number): okio.Buffer; + + public readUtf8Line(): string; + public readFully(param0: androidNative.Array): void; + public readByteString(): okio.ByteString; + public writeString(param0: string, param1: number, param2: number, param3: java.nio.charset.Charset): okio.BufferedSink; + public writeIntLe(param0: number): okio.Buffer; + public clone(): any; + public hmacSha1(param0: okio.ByteString): okio.ByteString; + public size(): number; + public write(param0: androidNative.Array, param1: number, param2: number): okio.BufferedSink; + public emit(): okio.Buffer; + public hashCode(): number; + public indexOf(param0: number, param1: number, param2: number): number; + public readString(param0: number, param1: java.nio.charset.Charset): string; + public readLongLe(): number; + public readFully(param0: okio.Buffer, param1: number): void; + public snapshot(): okio.ByteString; + public read(param0: java.nio.ByteBuffer): number; + public clone(): okio.Buffer; + public emitCompleteSegments(): okio.Buffer; + public readDecimalLong(): number; + public sha256(): okio.ByteString; + public writeByte(param0: number): okio.Buffer; + public rangeEquals(param0: number, param1: okio.ByteString): boolean; + public isOpen(): boolean; + public copyTo(param0: okio.Buffer, param1: number): okio.Buffer; + public writeLong(param0: number): okio.Buffer; + public indexOfElement(param0: okio.ByteString, param1: number): number; + public exhausted(): boolean; + public write(param0: okio.Source, param1: number): okio.BufferedSink; + public buffer(): okio.Buffer; + public hmacSha256(param0: okio.ByteString): okio.ByteString; + public indexOf(param0: number, param1: number): number; + public indexOf(param0: okio.ByteString): number; + } + export module Buffer { + export class UnsafeCursor extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + public buffer: okio.Buffer; + public readWrite: boolean; + public offset: number; + public data: androidNative.Array; + public start: number; + public end: number; + public next(): number; + public seek(param0: number): number; + public resizeBuffer(param0: number): number; + public constructor(); + public expandBuffer(param0: number): number; + public close(): void; + } + } +} + +declare module okio { + export class BufferedSink extends java.lang.Object implements okio.Sink, java.nio.channels.WritableByteChannel { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okio.BufferedSink interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + buffer(): okio.Buffer; + getBuffer(): okio.Buffer; + write(param0: okio.ByteString): okio.BufferedSink; + write(param0: okio.ByteString, param1: number, param2: number): okio.BufferedSink; + write(param0: androidNative.Array): okio.BufferedSink; + write(param0: androidNative.Array, param1: number, param2: number): okio.BufferedSink; + writeAll(param0: okio.Source): number; + write(param0: okio.Source, param1: number): okio.BufferedSink; + writeUtf8(param0: string): okio.BufferedSink; + writeUtf8(param0: string, param1: number, param2: number): okio.BufferedSink; + writeUtf8CodePoint(param0: number): okio.BufferedSink; + writeString(param0: string, param1: java.nio.charset.Charset): okio.BufferedSink; + writeString(param0: string, param1: number, param2: number, param3: java.nio.charset.Charset): okio.BufferedSink; + writeByte(param0: number): okio.BufferedSink; + writeShort(param0: number): okio.BufferedSink; + writeShortLe(param0: number): okio.BufferedSink; + writeInt(param0: number): okio.BufferedSink; + writeIntLe(param0: number): okio.BufferedSink; + writeLong(param0: number): okio.BufferedSink; + writeLongLe(param0: number): okio.BufferedSink; + writeDecimalLong(param0: number): okio.BufferedSink; + writeHexadecimalUnsignedLong(param0: number): okio.BufferedSink; + flush(): void; + emit(): okio.BufferedSink; + emitCompleteSegments(): okio.BufferedSink; + outputStream(): java.io.OutputStream; + write(param0: okio.Buffer, param1: number): void; + flush(): void; + timeout(): okio.Timeout; + close(): void; + write(param0: java.nio.ByteBuffer): number; + close(): void; + flush(): void; + isOpen(): boolean; + close(): void; + close(): void; + close(): void; + close(): void; + }); + public constructor(); + public writeDecimalLong(param0: number): okio.BufferedSink; + public close(): void; + public writeByte(param0: number): okio.BufferedSink; + public writeString(param0: string, param1: number, param2: number, param3: java.nio.charset.Charset): okio.BufferedSink; + public writeShortLe(param0: number): okio.BufferedSink; + public writeInt(param0: number): okio.BufferedSink; + public getBuffer(): okio.Buffer; + public writeUtf8CodePoint(param0: number): okio.BufferedSink; + public writeUtf8(param0: string): okio.BufferedSink; + public writeUtf8(param0: string, param1: number, param2: number): okio.BufferedSink; + public writeShort(param0: number): okio.BufferedSink; + public writeHexadecimalUnsignedLong(param0: number): okio.BufferedSink; + public write(param0: androidNative.Array, param1: number, param2: number): okio.BufferedSink; + public emitCompleteSegments(): okio.BufferedSink; + public emit(): okio.BufferedSink; + /** @deprecated */ + public buffer(): okio.Buffer; + public writeIntLe(param0: number): okio.BufferedSink; + public write(param0: okio.Buffer, param1: number): void; + public write(param0: java.nio.ByteBuffer): number; + public write(param0: okio.ByteString, param1: number, param2: number): okio.BufferedSink; + public flush(): void; + public isOpen(): boolean; + public write(param0: okio.ByteString): okio.BufferedSink; + public writeString(param0: string, param1: java.nio.charset.Charset): okio.BufferedSink; + public writeLongLe(param0: number): okio.BufferedSink; + public write(param0: okio.Source, param1: number): okio.BufferedSink; + public write(param0: androidNative.Array): okio.BufferedSink; + public outputStream(): java.io.OutputStream; + public writeAll(param0: okio.Source): number; + public writeLong(param0: number): okio.BufferedSink; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class BufferedSource extends java.lang.Object implements okio.Source, java.nio.channels.ReadableByteChannel { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okio.BufferedSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + buffer(): okio.Buffer; + getBuffer(): okio.Buffer; + exhausted(): boolean; + require(param0: number): void; + request(param0: number): boolean; + readByte(): number; + readShort(): number; + readShortLe(): number; + readInt(): number; + readIntLe(): number; + readLong(): number; + readLongLe(): number; + readDecimalLong(): number; + readHexadecimalUnsignedLong(): number; + skip(param0: number): void; + readByteString(): okio.ByteString; + readByteString(param0: number): okio.ByteString; + select(param0: okio.Options): number; + readByteArray(): androidNative.Array; + readByteArray(param0: number): androidNative.Array; + read(param0: androidNative.Array): number; + readFully(param0: androidNative.Array): void; + read(param0: androidNative.Array, param1: number, param2: number): number; + readFully(param0: okio.Buffer, param1: number): void; + readAll(param0: okio.Sink): number; + readUtf8(): string; + readUtf8(param0: number): string; + readUtf8Line(): string; + readUtf8LineStrict(): string; + readUtf8LineStrict(param0: number): string; + readUtf8CodePoint(): number; + readString(param0: java.nio.charset.Charset): string; + readString(param0: number, param1: java.nio.charset.Charset): string; + indexOf(param0: number): number; + indexOf(param0: number, param1: number): number; + indexOf(param0: number, param1: number, param2: number): number; + indexOf(param0: okio.ByteString): number; + indexOf(param0: okio.ByteString, param1: number): number; + indexOfElement(param0: okio.ByteString): number; + indexOfElement(param0: okio.ByteString, param1: number): number; + rangeEquals(param0: number, param1: okio.ByteString): boolean; + rangeEquals(param0: number, param1: okio.ByteString, param2: number, param3: number): boolean; + peek(): okio.BufferedSource; + inputStream(): java.io.InputStream; + read(param0: okio.Buffer, param1: number): number; + timeout(): okio.Timeout; + close(): void; + read(param0: java.nio.ByteBuffer): number; + close(): void; + isOpen(): boolean; + close(): void; + close(): void; + close(): void; + close(): void; + }); + public constructor(); + public close(): void; + public inputStream(): java.io.InputStream; + public readIntLe(): number; + public readUtf8LineStrict(param0: number): string; + public readByteArray(): androidNative.Array; + public readUtf8(param0: number): string; + public read(param0: androidNative.Array): number; + public readUtf8CodePoint(): number; + public indexOf(param0: number): number; + public readByte(): number; + public readHexadecimalUnsignedLong(): number; + public readLong(): number; + public read(param0: okio.Buffer, param1: number): number; + public readUtf8(): string; + /** @deprecated */ + public buffer(): okio.Buffer; + public readByteString(param0: number): okio.ByteString; + public indexOfElement(param0: okio.ByteString): number; + public readAll(param0: okio.Sink): number; + public select(param0: okio.Options): number; + public readShort(): number; + public require(param0: number): void; + public request(param0: number): boolean; + public indexOf(param0: okio.ByteString, param1: number): number; + public peek(): okio.BufferedSource; + public readString(param0: java.nio.charset.Charset): string; + public readShortLe(): number; + public readUtf8Line(): string; + public readFully(param0: androidNative.Array): void; + public readByteString(): okio.ByteString; + public readUtf8LineStrict(): string; + public readByteArray(param0: number): androidNative.Array; + public getBuffer(): okio.Buffer; + public indexOf(param0: number, param1: number, param2: number): number; + public readString(param0: number, param1: java.nio.charset.Charset): string; + public readLongLe(): number; + public readFully(param0: okio.Buffer, param1: number): void; + public rangeEquals(param0: number, param1: okio.ByteString, param2: number, param3: number): boolean; + public read(param0: java.nio.ByteBuffer): number; + public skip(param0: number): void; + public readDecimalLong(): number; + public readInt(): number; + public rangeEquals(param0: number, param1: okio.ByteString): boolean; + public isOpen(): boolean; + public indexOfElement(param0: okio.ByteString, param1: number): number; + public exhausted(): boolean; + public read(param0: androidNative.Array, param1: number, param2: number): number; + public indexOf(param0: number, param1: number): number; + public indexOf(param0: okio.ByteString): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class ByteString extends java.lang.Object { + public static class: java.lang.Class; + public static EMPTY: okio.ByteString; + public base64(): string; + public equals(param0: any): boolean; + public static encodeString(param0: string, param1: java.nio.charset.Charset): okio.ByteString; + public rangeEquals(param0: number, param1: androidNative.Array, param2: number, param3: number): boolean; + public base64Url(): string; + public constructor(param0: androidNative.Array); + public getHashCode$okio(): number; + public asByteBuffer(): java.nio.ByteBuffer; + public setHashCode$okio(param0: number): void; + public lastIndexOf(param0: okio.ByteString, param1: number): number; + + public static of(param0: androidNative.Array, param1: number, param2: number): okio.ByteString; + public compareTo(param0: okio.ByteString): number; + public endsWith(param0: androidNative.Array): boolean; + public toString(): string; + public indexOf(param0: androidNative.Array): number; + public string(param0: java.nio.charset.Charset): string; + public md5(): okio.ByteString; + public static encodeUtf8(param0: string): okio.ByteString; + public startsWith(param0: okio.ByteString): boolean; + public endsWith(param0: okio.ByteString): boolean; + public lastIndexOf(param0: androidNative.Array, param1: number): number; + public toAsciiLowercase(): okio.ByteString; + public sha1(): okio.ByteString; + public write(param0: java.io.OutputStream): void; + public substring(param0: number, param1: number): okio.ByteString; + public indexOf(param0: okio.ByteString, param1: number): number; + public static of(param0: androidNative.Array): okio.ByteString; + + public substring(param0: number): okio.ByteString; + public substring(): okio.ByteString; + public getData$okio(): androidNative.Array; + public hmacSha512(param0: okio.ByteString): okio.ByteString; + public hmacSha1(param0: okio.ByteString): okio.ByteString; + public setUtf8$okio(param0: string): void; + public static read(param0: java.io.InputStream, param1: number): okio.ByteString; + public sha512(): okio.ByteString; + public size(): number; + public hex(): string; + public hashCode(): number; + public toAsciiUppercase(): okio.ByteString; + public getSize$okio(): number; + public lastIndexOf(param0: androidNative.Array): number; + public static decodeBase64(param0: string): okio.ByteString; + public rangeEquals(param0: number, param1: okio.ByteString, param2: number, param3: number): boolean; + public lastIndexOf(param0: okio.ByteString): number; + public digest$okio(param0: string): okio.ByteString; + public internalGet$okio(param0: number): number; + public static decodeHex(param0: string): okio.ByteString; + public getUtf8$okio(): string; + public toByteArray(): androidNative.Array; + public sha256(): okio.ByteString; + public getByte(param0: number): number; + public static of(param0: java.nio.ByteBuffer): okio.ByteString; + public hmac$okio(param0: string, param1: okio.ByteString): okio.ByteString; + public internalArray$okio(): androidNative.Array; + public write$okio(param0: okio.Buffer, param1: number, param2: number): void; + public indexOf(param0: androidNative.Array, param1: number): number; + public utf8(): string; + public hmacSha256(param0: okio.ByteString): okio.ByteString; + public startsWith(param0: androidNative.Array): boolean; + public indexOf(param0: okio.ByteString): number; + } + export module ByteString { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + + + + + public encodeString(param0: string, param1: java.nio.charset.Charset): okio.ByteString; + public decodeBase64(param0: string): okio.ByteString; + public encodeUtf8(param0: string): okio.ByteString; + + public of(param0: java.nio.ByteBuffer): okio.ByteString; + public read(param0: java.io.InputStream, param1: number): okio.ByteString; + + public of(param0: androidNative.Array): okio.ByteString; + public of(param0: androidNative.Array, param1: number, param2: number): okio.ByteString; + public decodeHex(param0: string): okio.ByteString; + + } + } +} + +declare module okio { + export class DeflaterSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public finishDeflate$okio(): void; + public close(): void; + public write(param0: okio.Buffer, param1: number): void; + public constructor(param0: okio.BufferedSink, param1: java.util.zip.Deflater); + public constructor(param0: okio.Sink, param1: java.util.zip.Deflater); + public toString(): string; + public flush(): void; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export abstract class ForwardingSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public close(): void; + public delegate(): okio.Sink; + public constructor(param0: okio.Sink); + public write(param0: okio.Buffer, param1: number): void; + + public toString(): string; + public flush(): void; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export abstract class ForwardingSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public close(): void; + public constructor(param0: okio.Source); + public delegate(): okio.Source; + + public toString(): string; + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class ForwardingTimeout extends okio.Timeout { + public static class: java.lang.Class; + public throwIfReached(): void; + public constructor(); + public setDelegate(param0: okio.Timeout): okio.ForwardingTimeout; + public clearDeadline(): okio.Timeout; + public hasDeadline(): boolean; + public timeout(param0: number, param1: java.util.concurrent.TimeUnit): okio.Timeout; + public delegate(): okio.Timeout; + public timeoutNanos(): number; + public deadlineNanoTime(): number; + public deadlineNanoTime(param0: number): okio.Timeout; + public clearTimeout(): okio.Timeout; + public constructor(param0: okio.Timeout); + } +} + +declare module okio { + export class GzipSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public deflater(): java.util.zip.Deflater; + public close(): void; + public constructor(param0: okio.Sink); + public write(param0: okio.Buffer, param1: number): void; + + public flush(): void; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class GzipSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public close(): void; + public constructor(param0: okio.Source); + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class HashingSink extends okio.ForwardingSink { + public static class: java.lang.Class; + public constructor(param0: okio.Sink, param1: okio.ByteString, param2: string); + public close(): void; + public constructor(param0: okio.Sink); + public static hmacSha256(param0: okio.Sink, param1: okio.ByteString): okio.HashingSink; + public write(param0: okio.Buffer, param1: number): void; + + public constructor(param0: okio.Sink, param1: string); + public static sha1(param0: okio.Sink): okio.HashingSink; + public static hmacSha512(param0: okio.Sink, param1: okio.ByteString): okio.HashingSink; + public static sha256(param0: okio.Sink): okio.HashingSink; + public flush(): void; + public static sha512(param0: okio.Sink): okio.HashingSink; + public static hmacSha1(param0: okio.Sink, param1: okio.ByteString): okio.HashingSink; + public static md5(param0: okio.Sink): okio.HashingSink; + public hash(): okio.ByteString; + public timeout(): okio.Timeout; + } + export module HashingSink { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public md5(param0: okio.Sink): okio.HashingSink; + public hmacSha1(param0: okio.Sink, param1: okio.ByteString): okio.HashingSink; + public sha512(param0: okio.Sink): okio.HashingSink; + public hmacSha256(param0: okio.Sink, param1: okio.ByteString): okio.HashingSink; + public sha1(param0: okio.Sink): okio.HashingSink; + public sha256(param0: okio.Sink): okio.HashingSink; + public hmacSha512(param0: okio.Sink, param1: okio.ByteString): okio.HashingSink; + } + } +} + +declare module okio { + export class HashingSource extends okio.ForwardingSource { + public static class: java.lang.Class; + public close(): void; + public constructor(param0: okio.Source); + public static hmacSha512(param0: okio.Source, param1: okio.ByteString): okio.HashingSource; + public constructor(param0: okio.Source, param1: okio.ByteString, param2: string); + public static md5(param0: okio.Source): okio.HashingSource; + public static sha256(param0: okio.Source): okio.HashingSource; + public static hmacSha1(param0: okio.Source, param1: okio.ByteString): okio.HashingSource; + + public constructor(param0: okio.Source, param1: string); + public static hmacSha256(param0: okio.Source, param1: okio.ByteString): okio.HashingSource; + public static sha512(param0: okio.Source): okio.HashingSource; + public static sha1(param0: okio.Source): okio.HashingSource; + public hash(): okio.ByteString; + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } + export module HashingSource { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public sha512(param0: okio.Source): okio.HashingSource; + public sha1(param0: okio.Source): okio.HashingSource; + public hmacSha256(param0: okio.Source, param1: okio.ByteString): okio.HashingSource; + public hmacSha512(param0: okio.Source, param1: okio.ByteString): okio.HashingSource; + public md5(param0: okio.Source): okio.HashingSource; + public sha256(param0: okio.Source): okio.HashingSource; + public hmacSha1(param0: okio.Source, param1: okio.ByteString): okio.HashingSource; + } + } +} + +declare module okio { + export class InflaterSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public readOrInflate(param0: okio.Buffer, param1: number): number; + public close(): void; + public refill(): boolean; + public constructor(param0: okio.Source, param1: java.util.zip.Inflater); + public constructor(param0: okio.BufferedSource, param1: java.util.zip.Inflater); + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class InputStreamSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public close(): void; + public constructor(param0: java.io.InputStream, param1: okio.Timeout); + public toString(): string; + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class Okio extends java.lang.Object { + public static class: java.lang.Class; + public static source(param0: java.nio.file.Path, param1: androidNative.Array): okio.Source; + public static appendingSink(param0: java.io.File): okio.Sink; + public static blackhole(): okio.Sink; + public static sink(param0: java.io.File): okio.Sink; + public static source(param0: java.net.Socket): okio.Source; + public static sink(param0: java.io.File, param1: boolean): okio.Sink; + public static isAndroidGetsocknameError(param0: java.lang.AssertionError): boolean; + public static buffer(param0: okio.Source): okio.BufferedSource; + public static source(param0: java.io.InputStream): okio.Source; + public static sink(param0: java.io.OutputStream): okio.Sink; + public static source(param0: java.io.File): okio.Source; + public static buffer(param0: okio.Sink): okio.BufferedSink; + public static sink(param0: java.net.Socket): okio.Sink; + public static sink(param0: java.nio.file.Path, param1: androidNative.Array): okio.Sink; + } +} + +declare module okio { + export class Options extends java.lang.Object implements java.util.RandomAccess { + public static class: java.lang.Class; + public contains(param0: okio.ByteString): boolean; + public lastIndexOf(param0: okio.ByteString): number; + public contains(param0: any): boolean; + public getByteStrings$okio(): androidNative.Array; + public get(param0: number): okio.ByteString; + public indexOf(param0: any): number; + public getSize(): number; + public getTrie$okio(): androidNative.Array; + public lastIndexOf(param0: any): number; + public indexOf(param0: okio.ByteString): number; + public static of(param0: androidNative.Array): okio.Options; + } + export module Options { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public of(param0: androidNative.Array): okio.Options; + } + } +} + +declare module okio { + export class OutputStreamSink extends java.lang.Object implements okio.Sink { + public static class: java.lang.Class; + public close(): void; + public write(param0: okio.Buffer, param1: number): void; + public constructor(param0: java.io.OutputStream, param1: okio.Timeout); + public toString(): string; + public flush(): void; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class PeekSource extends java.lang.Object implements okio.Source { + public static class: java.lang.Class; + public constructor(param0: okio.BufferedSource); + public close(): void; + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class Pipe extends java.lang.Object { + public static class: java.lang.Class; + public getSourceClosed$okio(): boolean; + public sink(): okio.Sink; + + public constructor(param0: number); + public getSinkClosed$okio(): boolean; + public fold(param0: okio.Sink): void; + public source(): okio.Source; + public setSinkClosed$okio(param0: boolean): void; + public cancel(): void; + public setFoldedSink$okio(param0: okio.Sink): void; + public setSourceClosed$okio(param0: boolean): void; + + public getBuffer$okio(): okio.Buffer; + public getFoldedSink$okio(): okio.Sink; + public getCanceled$okio(): boolean; + public setCanceled$okio(param0: boolean): void; + public getMaxBufferSize$okio(): number; + } +} + +declare module okio { + export class RealBufferedSink extends java.lang.Object implements okio.BufferedSink { + public static class: java.lang.Class; + public bufferField: okio.Buffer; + public closed: boolean; + public sink: okio.Sink; + public writeDecimalLong(param0: number): okio.BufferedSink; + public close(): void; + public writeByte(param0: number): okio.BufferedSink; + public writeString(param0: string, param1: number, param2: number, param3: java.nio.charset.Charset): okio.BufferedSink; + public writeShortLe(param0: number): okio.BufferedSink; + public writeInt(param0: number): okio.BufferedSink; + public getBuffer(): okio.Buffer; + public writeUtf8CodePoint(param0: number): okio.BufferedSink; + public writeUtf8(param0: string): okio.BufferedSink; + public writeUtf8(param0: string, param1: number, param2: number): okio.BufferedSink; + public writeShort(param0: number): okio.BufferedSink; + public writeHexadecimalUnsignedLong(param0: number): okio.BufferedSink; + public write(param0: androidNative.Array, param1: number, param2: number): okio.BufferedSink; + public emitCompleteSegments(): okio.BufferedSink; + public emit(): okio.BufferedSink; + public writeIntLe(param0: number): okio.BufferedSink; + /** @deprecated */ + public buffer(): okio.Buffer; + public constructor(param0: okio.Sink); + public write(param0: okio.Buffer, param1: number): void; + public write(param0: java.nio.ByteBuffer): number; + public toString(): string; + public write(param0: okio.ByteString, param1: number, param2: number): okio.BufferedSink; + public flush(): void; + public isOpen(): boolean; + public write(param0: okio.ByteString): okio.BufferedSink; + public writeString(param0: string, param1: java.nio.charset.Charset): okio.BufferedSink; + public writeLongLe(param0: number): okio.BufferedSink; + public write(param0: okio.Source, param1: number): okio.BufferedSink; + public buffer(): okio.Buffer; + public write(param0: androidNative.Array): okio.BufferedSink; + public outputStream(): java.io.OutputStream; + public writeAll(param0: okio.Source): number; + public writeLong(param0: number): okio.BufferedSink; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class RealBufferedSource extends java.lang.Object implements okio.BufferedSource { + public static class: java.lang.Class; + public bufferField: okio.Buffer; + public closed: boolean; + public source: okio.Source; + public close(): void; + public inputStream(): java.io.InputStream; + public readIntLe(): number; + public readUtf8LineStrict(param0: number): string; + public readByteArray(): androidNative.Array; + public readUtf8(param0: number): string; + public read(param0: androidNative.Array): number; + public readUtf8CodePoint(): number; + public indexOf(param0: number): number; + public readByte(): number; + public readHexadecimalUnsignedLong(): number; + public read(param0: okio.Buffer, param1: number): number; + public readLong(): number; + public readUtf8(): string; + /** @deprecated */ + public buffer(): okio.Buffer; + public constructor(param0: okio.Source); + public readByteString(param0: number): okio.ByteString; + public indexOfElement(param0: okio.ByteString): number; + public toString(): string; + public readAll(param0: okio.Sink): number; + public select(param0: okio.Options): number; + public readShort(): number; + public require(param0: number): void; + public request(param0: number): boolean; + public indexOf(param0: okio.ByteString, param1: number): number; + public peek(): okio.BufferedSource; + public readString(param0: java.nio.charset.Charset): string; + public readShortLe(): number; + public readUtf8Line(): string; + public readFully(param0: androidNative.Array): void; + public readByteString(): okio.ByteString; + public readUtf8LineStrict(): string; + public readByteArray(param0: number): androidNative.Array; + public getBuffer(): okio.Buffer; + public indexOf(param0: number, param1: number, param2: number): number; + public readString(param0: number, param1: java.nio.charset.Charset): string; + public readLongLe(): number; + public readFully(param0: okio.Buffer, param1: number): void; + public read(param0: java.nio.ByteBuffer): number; + public rangeEquals(param0: number, param1: okio.ByteString, param2: number, param3: number): boolean; + public skip(param0: number): void; + public readDecimalLong(): number; + public readInt(): number; + public rangeEquals(param0: number, param1: okio.ByteString): boolean; + public isOpen(): boolean; + public indexOfElement(param0: okio.ByteString, param1: number): number; + public exhausted(): boolean; + public buffer(): okio.Buffer; + public read(param0: androidNative.Array, param1: number, param2: number): number; + public indexOf(param0: number, param1: number): number; + public indexOf(param0: okio.ByteString): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class Segment extends java.lang.Object { + public static class: java.lang.Class; + public data: androidNative.Array; + public pos: number; + public limit: number; + public shared: boolean; + public owner: boolean; + public next: okio.Segment; + public prev: okio.Segment; + public static SIZE: number; + public static SHARE_MINIMUM: number; + public constructor(); + public unsharedCopy(): okio.Segment; + public push(param0: okio.Segment): okio.Segment; + public writeTo(param0: okio.Segment, param1: number): void; + public compact(): void; + public constructor(param0: androidNative.Array, param1: number, param2: number, param3: boolean, param4: boolean); + public pop(): okio.Segment; + public sharedCopy(): okio.Segment; + public split(param0: number): okio.Segment; + } + export module Segment { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + } + } +} + +declare module okio { + export class SegmentPool extends java.lang.Object { + public static class: java.lang.Class; + public static INSTANCE: okio.SegmentPool; + public getByteCount(): number; + public static recycle(param0: okio.Segment): void; + public getMAX_SIZE(): number; + public static take(): okio.Segment; + } +} + +declare module okio { + export class SegmentedByteString extends okio.ByteString { + public static class: java.lang.Class; + public base64(): string; + public substring(param0: number): okio.ByteString; + public equals(param0: any): boolean; + public substring(): okio.ByteString; + public rangeEquals(param0: number, param1: androidNative.Array, param2: number, param3: number): boolean; + public base64Url(): string; + public getDirectory$okio(): androidNative.Array; + public constructor(param0: androidNative.Array); + public asByteBuffer(): java.nio.ByteBuffer; + public hex(): string; + public hashCode(): number; + public toAsciiUppercase(): okio.ByteString; + public getSize$okio(): number; + public lastIndexOf(param0: androidNative.Array): number; + public lastIndexOf(param0: okio.ByteString, param1: number): number; + public rangeEquals(param0: number, param1: okio.ByteString, param2: number, param3: number): boolean; + public lastIndexOf(param0: okio.ByteString): number; + public digest$okio(param0: string): okio.ByteString; + public internalGet$okio(param0: number): number; + public toByteArray(): androidNative.Array; + public toString(): string; + public indexOf(param0: androidNative.Array): number; + public string(param0: java.nio.charset.Charset): string; + public lastIndexOf(param0: androidNative.Array, param1: number): number; + public toAsciiLowercase(): okio.ByteString; + public hmac$okio(param0: string, param1: okio.ByteString): okio.ByteString; + public getSegments$okio(): androidNative.Array>; + public constructor(param0: androidNative.Array>, param1: androidNative.Array); + public write(param0: java.io.OutputStream): void; + public internalArray$okio(): androidNative.Array; + public write$okio(param0: okio.Buffer, param1: number, param2: number): void; + public indexOf(param0: androidNative.Array, param1: number): number; + public substring(param0: number, param1: number): okio.ByteString; + public indexOf(param0: okio.ByteString, param1: number): number; + public indexOf(param0: okio.ByteString): number; + } +} + +declare module okio { + export class Sink extends java.lang.Object implements java.io.Closeable, java.io.Flushable { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okio.Sink interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + write(param0: okio.Buffer, param1: number): void; + flush(): void; + timeout(): okio.Timeout; + close(): void; + close(): void; + flush(): void; + close(): void; + }); + public constructor(); + public close(): void; + public write(param0: okio.Buffer, param1: number): void; + public flush(): void; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class SocketAsyncTimeout extends okio.AsyncTimeout { + public static class: java.lang.Class; + public constructor(); + public constructor(param0: java.net.Socket); + public newTimeoutException(param0: java.io.IOException): java.io.IOException; + public timedOut(): void; + } +} + +declare module okio { + export class Source extends java.lang.Object implements java.io.Closeable { + public static class: java.lang.Class; + /** + * Constructs a new instance of the okio.Source interface with the provided implementation. An empty constructor exists calling super() when extending the interface class. + */ + public constructor(implementation: { + read(param0: okio.Buffer, param1: number): number; + timeout(): okio.Timeout; + close(): void; + close(): void; + close(): void; + }); + public constructor(); + public close(): void; + public read(param0: okio.Buffer, param1: number): number; + public timeout(): okio.Timeout; + } +} + +declare module okio { + export class Throttler extends java.lang.Object { + public static class: java.lang.Class; + public bytesPerSecond(param0: number): void; + public sink(param0: okio.Sink): okio.Sink; + public constructor(); + public bytesPerSecond(param0: number, param1: number, param2: number): void; + public take$okio(param0: number): number; + public bytesPerSecond(param0: number, param1: number): void; + public constructor(param0: number); + public source(param0: okio.Source): okio.Source; + public byteCountOrWaitNanos$okio(param0: number, param1: number): number; + } +} + +declare module okio { + export class Timeout extends java.lang.Object { + public static class: java.lang.Class; + public static NONE: okio.Timeout; + public throwIfReached(): void; + public constructor(); + public deadline(param0: number, param1: java.util.concurrent.TimeUnit): okio.Timeout; + public clearDeadline(): okio.Timeout; + public hasDeadline(): boolean; + public timeout(param0: number, param1: java.util.concurrent.TimeUnit): okio.Timeout; + public timeoutNanos(): number; + public waitUntilNotified(param0: any): void; + public deadlineNanoTime(): number; + public deadlineNanoTime(param0: number): okio.Timeout; + public intersectWith(param0: okio.Timeout, param1: any): void; + public clearTimeout(): okio.Timeout; + } + export module Timeout { + export class Companion extends java.lang.Object { + public static class: java.lang.Class; + public minTimeout(param0: number, param1: number): number; + } + } +} + +declare module okio { + export class Utf8 extends java.lang.Object { + public static class: java.lang.Class; + public static REPLACEMENT_BYTE: number; + public static REPLACEMENT_CHARACTER: string; + public static REPLACEMENT_CODE_POINT: number; + public static HIGH_SURROGATE_HEADER: number; + public static LOG_SURROGATE_HEADER: number; + public static MASK_2BYTES: number; + public static MASK_3BYTES: number; + public static MASK_4BYTES: number; + public static isIsoControl(param0: number): boolean; + public static process4Utf8Bytes(param0: androidNative.Array, param1: number, param2: number, param3: any): number; + public static size(param0: string, param1: number, param2: number): number; + public static process2Utf8Bytes(param0: androidNative.Array, param1: number, param2: number, param3: any): number; + public static size(param0: string): number; + public static size(param0: string, param1: number): number; + public static processUtf8CodePoints(param0: androidNative.Array, param1: number, param2: number, param3: any): void; + public static processUtf16Chars(param0: androidNative.Array, param1: number, param2: number, param3: any): void; + public static processUtf8Bytes(param0: string, param1: number, param2: number, param3: any): void; + public static isUtf8Continuation(param0: number): boolean; + public static process3Utf8Bytes(param0: androidNative.Array, param1: number, param2: number, param3: any): number; + } +} + From e660463499f3dcb55d7d17cc2771b03b07b93f12 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 25 Apr 2022 17:09:14 +0200 Subject: [PATCH 039/216] demo: update --- .../Android/src/main/AndroidManifest.xml | 4 +- demo/app/main-page.ts | 5 +- demo/app/main-page.xml | 35 +- demo/package.json | 14 +- demo/webpack.config.js | 332 +----------------- 5 files changed, 33 insertions(+), 357 deletions(-) diff --git a/demo/app/App_Resources/Android/src/main/AndroidManifest.xml b/demo/app/App_Resources/Android/src/main/AndroidManifest.xml index 9db8321..cfc33ce 100644 --- a/demo/app/App_Resources/Android/src/main/AndroidManifest.xml +++ b/demo/app/App_Resources/Android/src/main/AndroidManifest.xml @@ -29,7 +29,7 @@ android:name="com.tns.NativeScriptActivity" android:label="@string/title_activity_kimera" android:configChanges="keyboardHidden|orientation|screenSize" - android:theme="@style/LaunchScreenTheme"> + android:theme="@style/LaunchScreenTheme" android:exported="true"> @@ -38,6 +38,6 @@ - + diff --git a/demo/app/main-page.ts b/demo/app/main-page.ts index 6c393cc..b392e79 100644 --- a/demo/app/main-page.ts +++ b/demo/app/main-page.ts @@ -18,7 +18,6 @@ export function pageLoaded(args: Page.NavigatedData) { function createRequest(url: string, options?: Partial) { return Https.createRequest({ - useLegacy: true, url, method: 'GET', timeout: 1, @@ -35,7 +34,6 @@ function onError(error) { } function getRequest(url: string, options?: Partial) { return Https.request({ - useLegacy: true, url, method: 'GET', timeout: 1, @@ -44,7 +42,7 @@ function getRequest(url: string, options?: Partial) { .then((response) => { page.bindingContext.currentRequest = null; page.bindingContext.progress = 0; - console.log('Https.request response', response); + console.log('Https.request response', response.statusCode, response.content.contentLength, response.content.toString()); return response; }) .catch(onError); @@ -52,7 +50,6 @@ function getRequest(url: string, options?: Partial) { function postRequest(url: string, options?: Partial) { return Https.request({ - useLegacy: true, url, method: 'POST', ...options, diff --git a/demo/app/main-page.xml b/demo/app/main-page.xml index d6f4e68..b13ea6f 100644 --- a/demo/app/main-page.xml +++ b/demo/app/main-page.xml @@ -1,31 +1,30 @@ - + -