diff --git a/android/src/libs/request.aar b/android/src/libs/request.aar index 434bcd6..6b454f1 100644 Binary files a/android/src/libs/request.aar and b/android/src/libs/request.aar differ diff --git a/android/src/main/java/io/kubenav/plugin/KubenavPlugin.java b/android/src/main/java/io/kubenav/plugin/KubenavPlugin.java index 76ab2bb..cc36fa1 100644 --- a/android/src/main/java/io/kubenav/plugin/KubenavPlugin.java +++ b/android/src/main/java/io/kubenav/plugin/KubenavPlugin.java @@ -127,9 +127,11 @@ public void request(PluginCall call) { String token = call.getString("token"); String username = call.getString("username"); String password = call.getString("password"); + Boolean insecureSkipTLSVerify = call.getBoolean("insecureSkipTLSVerify"); + Integer timeout = call.getInt("timeout"); try { - String data = Request.do_(method, url, body, certificateAuthorityData, clientCertificateData, clientKeyData, token, username, password); + String data = Request.do_(method, url, body, certificateAuthorityData, clientCertificateData, clientKeyData, token, username, password, insecureSkipTLSVerify, timeout); JSObject res = new JSObject(); res.put("data", data); call.resolve(res); diff --git a/ios/Plugin/Plugin.swift b/ios/Plugin/Plugin.swift index a1339d0..45ad272 100644 --- a/ios/Plugin/Plugin.swift +++ b/ios/Plugin/Plugin.swift @@ -142,10 +142,12 @@ public class KubenavPlugin: CAPPlugin { let token = call.getString("token") ?? "" let username = call.getString("username") ?? "" let password = call.getString("password") ?? "" + let insecureSkipTLSVerify = call.getBool("insecureSkipTLSVerify") ?? false + let timeout = Int64(call.getInt("timeout") ?? 60) var error: NSError? - let data = RequestDo(method, url, body, certificateAuthorityData, clientCertificateData, clientKeyData, token, username, password, &error) + let data = RequestDo(method, url, body, certificateAuthorityData, clientCertificateData, clientKeyData, token, username, password, insecureSkipTLSVerify, timeout, &error) if error != nil { call.reject(error?.localizedDescription ?? "") diff --git a/ios/Plugin/libs/Request.framework/Headers/Request.objc.h b/ios/Plugin/libs/Request.framework/Headers/Request.objc.h index 3588751..79b8409 100644 --- a/ios/Plugin/libs/Request.framework/Headers/Request.objc.h +++ b/ios/Plugin/libs/Request.framework/Headers/Request.objc.h @@ -46,7 +46,7 @@ FOUNDATION_EXPORT NSString* _Nonnull RequestAzureGetClusters(NSString* _Nullable /** * Do runs the given HTTP request. */ -FOUNDATION_EXPORT NSString* _Nonnull RequestDo(NSString* _Nullable method, NSString* _Nullable url, NSString* _Nullable body, NSString* _Nullable certificateAuthorityData, NSString* _Nullable clientCertificateData, NSString* _Nullable clientKeyData, NSString* _Nullable token, NSString* _Nullable username, NSString* _Nullable password, NSError* _Nullable* _Nullable error); +FOUNDATION_EXPORT NSString* _Nonnull RequestDo(NSString* _Nullable method, NSString* _Nullable url, NSString* _Nullable body, NSString* _Nullable certificateAuthorityData, NSString* _Nullable clientCertificateData, NSString* _Nullable clientKeyData, NSString* _Nullable token, NSString* _Nullable username, NSString* _Nullable password, BOOL insecureSkipTLSVerify, int64_t timeout, NSError* _Nullable* _Nullable error); /** * OIDCGetAccessToken is used to retrieve an access token from a refresh token. diff --git a/ios/Plugin/libs/Request.framework/Request b/ios/Plugin/libs/Request.framework/Request index a5e5f53..be6ed40 100644 Binary files a/ios/Plugin/libs/Request.framework/Request and b/ios/Plugin/libs/Request.framework/Request differ diff --git a/src/definitions.ts b/src/definitions.ts index 4f795b0..8202882 100644 --- a/src/definitions.ts +++ b/src/definitions.ts @@ -11,5 +11,5 @@ export interface KubenavPluginPlugin { oidcGetLink(options: { discoveryURL: string, clientID: string, clientSecret: string, redirectURL: string }): Promise<{data: string}>; oidcGetRefreshToken(options: { discoveryURL: string, clientID: string, clientSecret: string, redirectURL: string, code: string }): Promise<{data: string}>; oidcGetAccessToken(options: { discoveryURL: string, clientID: string, clientSecret: string, redirectURL: string, refreshToken: string }): Promise<{data: string}>; - request(options: { server: string, cluster: string, method: string, url: string, body: string, certificateAuthorityData: string, clientCertificateData: string, clientKeyData: string, token: string, username: string, password: string }): Promise<{data: string}>; + request(options: { server: string, cluster: string, method: string, url: string, body: string, certificateAuthorityData: string, clientCertificateData: string, clientKeyData: string, token: string, username: string, password: string, insecureSkipTLSVerify: boolean, timeout: number }): Promise<{data: string}>; } diff --git a/src/web.ts b/src/web.ts index 042f438..e8d697a 100644 --- a/src/web.ts +++ b/src/web.ts @@ -33,7 +33,7 @@ export class KubenavPluginWeb extends WebPlugin implements KubenavPluginPlugin { throw new Error(`This feature is not implemented for web, options: ${JSON.stringify(options)}`); }; - async request(options: { server: string, cluster: string, method: string, url: string, body: string, certificateAuthorityData: string, clientCertificateData: string, clientKeyData: string, token: string, username: string, password: string }): Promise<{data: string}> { + async request(options: { server: string, cluster: string, method: string, url: string, body: string, certificateAuthorityData: string, clientCertificateData: string, clientKeyData: string, token: string, username: string, password: string, insecureSkipTLSVerify: boolean, timeout: number }): Promise<{data: string}> { let response = await fetch(`${options.server}/request`, { method: 'POST', headers: { @@ -51,6 +51,8 @@ export class KubenavPluginWeb extends WebPlugin implements KubenavPluginPlugin { token: options.token, username: options.username, password: options.password, + insecureSkipTLSVerify: options.insecureSkipTLSVerify, + timeout: options.timeout, }), });