-
-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathindex.html
More file actions
448 lines (443 loc) · 65.8 KB
/
index.html
File metadata and controls
448 lines (443 loc) · 65.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Nativescript plugin for https requests</title><meta name="description" content="Documentation for Nativescript plugin for https requests"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
<div class="tsd-toolbar-contents container">
<div class="table-cell" id="tsd-search" data-base=".">
<div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div>
<div class="field">
<div id="tsd-toolbar-links"><a href="https://docs.nativescript.org">Nativescript Doc</a></div></div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">Nativescript plugin for https requests</a></div>
<div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-menu"></use></svg></a></div></div></header>
<div class="container container-main">
<div class="col-content">
<div class="tsd-page-title">
<h2>Nativescript plugin for https requests</h2></div>
<div class="tsd-panel tsd-typography"><!-- ⚠️ This README has been generated from the file(s) "blueprint.md" ⚠️--><!-- ⚠️ This README has been generated from the file(s) "blueprint.md" ⚠️-->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DO NOT EDIT THIS READEME DIRECTLY! Edit "bluesprint.md" instead.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<h1 align="center">@nativescript-community/https</h1>
<p align="center">
<a href="https://npmcharts.com/compare/@nativescript-community/https?minimal=true"><img alt="Downloads per month" src="https://img.shields.io/npm/dm/@nativescript-community/https.svg" height="20"/></a>
<a href="https://www.npmjs.com/package/@nativescript-community/https"><img alt="NPM Version" src="https://img.shields.io/npm/v/@nativescript-community/https.svg" height="20"/></a>
</p>
<p align="center">
<b>Nativescript plugin for https requests</b></br>
<sub><sub>
</p>
<br />
<p><a href="#table-of-contents"></a></p>
<p><a href="#table-of-contents"></a></p>
<a id="md:table-of-contents" class="tsd-anchor"></a><h2><a href="#md:table-of-contents">Table of Contents</a></h2><pre><code><span class="hl-0">* [</span><span class="hl-1">Installation</span><span class="hl-0">](#</span><span class="hl-1">installation</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-2">A</span><span class="hl-0"> </span><span class="hl-1">drop</span><span class="hl-0">-</span><span class="hl-3">in</span><span class="hl-0"> </span><span class="hl-1">replacement</span><span class="hl-0"> </span><span class="hl-1">for</span><span class="hl-0"> </span><span class="hl-1">the</span><span class="hl-0"> [</span><span class="hl-1">default</span><span class="hl-0"> </span><span class="hl-1">http</span><span class="hl-0"> </span><span class="hl-4">module</span><span class="hl-0">](</span><span class="hl-1">https</span><span class="hl-0">:</span><span class="hl-5">//docs.nativescript.org/cookbook/http).](#a-drop-in-replacement-for-the-default-http-modulehttpsdocsnativescriptorgcookbookhttp)</span><br/><span class="hl-0">* [</span><span class="hl-1">Features</span><span class="hl-0">](#</span><span class="hl-1">features</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-2">FAQ</span><span class="hl-0">](#</span><span class="hl-1">faq</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-1">Installation</span><span class="hl-0">](#</span><span class="hl-1">installation</span><span class="hl-0">-</span><span class="hl-6">1</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-1">Examples</span><span class="hl-0">](#</span><span class="hl-1">examples</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Hitting</span><span class="hl-0"> </span><span class="hl-1">an</span><span class="hl-0"> </span><span class="hl-2">API</span><span class="hl-0"> </span><span class="hl-1">using</span><span class="hl-0"> </span><span class="hl-7">`GET`</span><span class="hl-0"> </span><span class="hl-1">method</span><span class="hl-0">](#</span><span class="hl-1">hitting</span><span class="hl-0">-</span><span class="hl-1">an</span><span class="hl-0">-</span><span class="hl-1">api</span><span class="hl-0">-</span><span class="hl-1">using</span><span class="hl-0">-</span><span class="hl-1">get</span><span class="hl-0">-</span><span class="hl-1">method</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-1">Configuration</span><span class="hl-0">](#</span><span class="hl-1">configuration</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Installing</span><span class="hl-0"> </span><span class="hl-1">your</span><span class="hl-0"> </span><span class="hl-2">SSL</span><span class="hl-0"> </span><span class="hl-1">certificate</span><span class="hl-0">](#</span><span class="hl-1">installing</span><span class="hl-0">-</span><span class="hl-1">your</span><span class="hl-0">-</span><span class="hl-1">ssl</span><span class="hl-0">-</span><span class="hl-1">certificate</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Enabling</span><span class="hl-0"> </span><span class="hl-2">SSL</span><span class="hl-0"> </span><span class="hl-1">pinning</span><span class="hl-0">](#</span><span class="hl-1">enabling</span><span class="hl-0">-</span><span class="hl-1">ssl</span><span class="hl-0">-</span><span class="hl-1">pinning</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Disabling</span><span class="hl-0"> </span><span class="hl-2">SSL</span><span class="hl-0"> </span><span class="hl-1">pinning</span><span class="hl-0">](#</span><span class="hl-1">disabling</span><span class="hl-0">-</span><span class="hl-1">ssl</span><span class="hl-0">-</span><span class="hl-1">pinning</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">useLegacy</span><span class="hl-0">](#</span><span class="hl-1">uselegacy</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Cookie</span><span class="hl-0">](#</span><span class="hl-1">cookie</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Enabling</span><span class="hl-0"> </span><span class="hl-1">Cache</span><span class="hl-0">](#</span><span class="hl-1">enabling</span><span class="hl-0">-</span><span class="hl-1">cache</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Multipart</span><span class="hl-0"> </span><span class="hl-1">form</span><span class="hl-0"> </span><span class="hl-1">data</span><span class="hl-0">](#</span><span class="hl-1">multipart</span><span class="hl-0">-</span><span class="hl-1">form</span><span class="hl-0">-</span><span class="hl-1">data</span><span class="hl-0">)</span><br/><span class="hl-0"> * [</span><span class="hl-1">Options</span><span class="hl-0">](#</span><span class="hl-1">options</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-1">Webpack</span><span class="hl-0"> / </span><span class="hl-1">bundling</span><span class="hl-0">](#</span><span class="hl-1">webpack</span><span class="hl-0">--</span><span class="hl-1">bundling</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-7">`iOS`</span><span class="hl-0"> </span><span class="hl-1">Troubleshooting</span><span class="hl-0">](#</span><span class="hl-1">ios</span><span class="hl-0">-</span><span class="hl-1">troubleshooting</span><span class="hl-0">)</span><br/><span class="hl-0">* [</span><span class="hl-7">`Android`</span><span class="hl-0"> </span><span class="hl-1">troubleshooting</span><span class="hl-0">](#</span><span class="hl-1">android</span><span class="hl-0">-</span><span class="hl-1">troubleshooting</span><span class="hl-0">)</span>
</code><button>Copy</button></pre>
<ul>
<li><a href="#thanks">Thanks</a>
* <a href="#examples-1">Examples:</a><ul>
<li><a href="#demos-and-development">Demos and Development</a><ul>
<li><a href="#repo-setup">Repo Setup</a></li>
<li><a href="#build">Build</a></li>
<li><a href="#demos">Demos</a></li>
</ul>
</li>
<li><a href="#contributing">Contributing</a><ul>
<li><a href="#update-repo-">Update repo </a></li>
<li><a href="#update-readme-">Update readme </a></li>
<li><a href="#update-doc-">Update doc </a></li>
<li><a href="#publish">Publish</a></li>
<li><a href="#modifying-submodules">modifying submodules</a></li>
</ul>
</li>
<li><a href="#questions">Questions</a></li>
</ul>
</li>
</ul>
<p><a href="#installation"></a></p>
<p><a href="#installation"></a></p>
<a id="md:installation" class="tsd-anchor"></a><h2><a href="#md:installation">Installation</a></h2><p>Run the following command from the root of your project:</p>
<p><code>ns plugin add @nativescript-community/https</code></p>
<p>Easily integrate the most reliable native networking libraries with the latest and greatest HTTPS security features.</p>
<blockquote>
<p>Android: version 4.x using okhttp 4.x changing minSDKVersion to 21! If lower needed stick to 3.x</p>
</blockquote>
<blockquote>
<p>Plugin version 2.0.0 bumps <code>AFNetworking</code> on iOS to <a href="https://github.com/AFNetworking/AFNetworking/releases/tag/4.0.0">4.0.0</a> which no longer relies on <code>UIWebView</code>. Make sure to run <code>pod repo update</code> to get the latest <code>AFNetworking</code> pod on your development machine.</p>
</blockquote>
<a id="md:a-drop-in-replacement-for-the-default-http-module" class="tsd-anchor"></a><h4><a href="#md:a-drop-in-replacement-for-the-default-http-module">A drop-in replacement for the <a href="https://docs.nativescript.org/cookbook/http">default http module</a>.</a></h4><p><a href="#features"></a></p>
<p><a href="#features"></a></p>
<a id="md:features" class="tsd-anchor"></a><h2><a href="#md:features">Features</a></h2><ul>
<li>Modern TLS & SSL security features</li>
<li>Shared connection pooling reduces request latency</li>
<li>Silently recovers from common connection problems</li>
<li>Everything runs on a native background thread</li>
<li>Transparent GZIP</li>
<li>HTTP/2 support</li>
<li>Multiform part</li>
<li>Cache</li>
<li>Basic Cookie support</li>
</ul>
<p><a href="#faq"></a></p>
<p><a href="#faq"></a></p>
<a id="md:faq" class="tsd-anchor"></a><h2><a href="#md:faq">FAQ</a></h2><blockquote>
<p>What the flip is SSL pinning and all this security mumbo jumbo?</p>
</blockquote>
<p><a href="https://infinum.co/the-capsized-eight/how-to-make-your-ios-apps-more-secure-with-ssl-pinning">How to make your apps more secure with SSL pinning</a>.</p>
<blockquote>
<p>Do I have to use SSL pinning?</p>
</blockquote>
<p><strong>No.</strong> This plugin works out of the box without any security configurations needed. Either way you'll still benefit from all the features listed above.</p>
<p><a href="#installation"></a></p>
<p><a href="#installation"></a></p>
<a id="md:installation-1" class="tsd-anchor"></a><h2><a href="#md:installation-1">Installation</a></h2><pre><code class="language-bash"><span class="hl-8">tns</span><span class="hl-0"> </span><span class="hl-7">plugin</span><span class="hl-0"> </span><span class="hl-7">add</span><span class="hl-0"> </span><span class="hl-7">@nativescript-community/https</span>
</code><button>Copy</button></pre>
<p><a href="#examples"></a></p>
<p><a href="#examples"></a></p>
<a id="md:examples" class="tsd-anchor"></a><h2><a href="#md:examples">Examples</a></h2><a id="md:hitting-an-api-using-get-method" class="tsd-anchor"></a><h3><a href="#md:hitting-an-api-using-get-method">Hitting an API using <code>GET</code> method</a></h3><pre><code class="language-typescript"><span class="hl-9">import</span><span class="hl-0"> </span><span class="hl-3">*</span><span class="hl-0"> </span><span class="hl-9">as</span><span class="hl-0"> </span><span class="hl-1">Https</span><span class="hl-0"> </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'@nativescript-community/https'</span><span class="hl-0">;</span><br/><span class="hl-1">Https</span><span class="hl-0">.</span><span class="hl-8">request</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">url:</span><span class="hl-0"> </span><span class="hl-7">'https://httpbin.org/get'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">method:</span><span class="hl-0"> </span><span class="hl-7">'GET'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">timeout:</span><span class="hl-0"> </span><span class="hl-6">30</span><span class="hl-0">, </span><span class="hl-5">// seconds (default 10)</span><br/><span class="hl-0">})</span><br/><span class="hl-0"> .</span><span class="hl-8">then</span><span class="hl-0">(</span><span class="hl-3">function</span><span class="hl-0"> (</span><span class="hl-1">response</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-8">log</span><span class="hl-0">(</span><span class="hl-7">'Https.request response'</span><span class="hl-0">, </span><span class="hl-1">response</span><span class="hl-0">);</span><br/><span class="hl-0"> })</span><br/><span class="hl-0"> .</span><span class="hl-8">catch</span><span class="hl-0">(</span><span class="hl-3">function</span><span class="hl-0"> (</span><span class="hl-1">error</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">console</span><span class="hl-0">.</span><span class="hl-8">error</span><span class="hl-0">(</span><span class="hl-7">'Https.request error'</span><span class="hl-0">, </span><span class="hl-1">error</span><span class="hl-0">);</span><br/><span class="hl-0"> });</span>
</code><button>Copy</button></pre>
<p><a href="#configuration"></a></p>
<p><a href="#configuration"></a></p>
<a id="md:configuration" class="tsd-anchor"></a><h2><a href="#md:configuration">Configuration</a></h2><a id="md:installing-your-ssl-certificate" class="tsd-anchor"></a><h3><a href="#md:installing-your-ssl-certificate">Installing your SSL certificate</a></h3><p>Create a folder called <code>assets</code> in your projects <code>app</code> folder like so <code><project>/app/assets</code>. Using chrome, go to the URL where the SSL certificate resides. View the details then drag and drop the certificate image into the <code>assets</code> folder.</p>
<p><img src="http://i.imgur.com/hn4duT3.gif" alt="Installing your SSL certificate"></p>
<a id="md:enabling-ssl-pinning" class="tsd-anchor"></a><h4><a href="#md:enabling-ssl-pinning">Enabling SSL pinning</a></h4><pre><code class="language-typescript"><span class="hl-9">import</span><span class="hl-0"> { </span><span class="hl-1">knownFolders</span><span class="hl-0"> } </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'file-system'</span><span class="hl-0">;</span><br/><span class="hl-9">import</span><span class="hl-0"> </span><span class="hl-3">*</span><span class="hl-0"> </span><span class="hl-9">as</span><span class="hl-0"> </span><span class="hl-1">Https</span><span class="hl-0"> </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'@nativescript-community/https'</span><span class="hl-0">;</span><br/><span class="hl-3">let</span><span class="hl-0"> </span><span class="hl-1">dir</span><span class="hl-0"> = </span><span class="hl-1">knownFolders</span><span class="hl-0">.</span><span class="hl-8">currentApp</span><span class="hl-0">().</span><span class="hl-8">getFolder</span><span class="hl-0">(</span><span class="hl-7">'assets'</span><span class="hl-0">);</span><br/><span class="hl-3">let</span><span class="hl-0"> </span><span class="hl-1">certificate</span><span class="hl-0"> = </span><span class="hl-1">dir</span><span class="hl-0">.</span><span class="hl-8">getFile</span><span class="hl-0">(</span><span class="hl-7">'httpbin.org.cer'</span><span class="hl-0">).</span><span class="hl-1">path</span><span class="hl-0">;</span><br/><span class="hl-1">Https</span><span class="hl-0">.</span><span class="hl-8">enableSSLPinning</span><span class="hl-0">({ </span><span class="hl-1">host:</span><span class="hl-0"> </span><span class="hl-7">'httpbin.org'</span><span class="hl-0">, </span><span class="hl-1">certificate</span><span class="hl-0"> });</span>
</code><button>Copy</button></pre>
<p>Once you've enabled SSL pinning you <strong>CAN NOT</strong> re-enable with a different <code>host</code> or <code>certificate</code> file.</p>
<a id="md:disabling-ssl-pinning" class="tsd-anchor"></a><h4><a href="#md:disabling-ssl-pinning">Disabling SSL pinning</a></h4><pre><code class="language-typescript"><span class="hl-9">import</span><span class="hl-0"> </span><span class="hl-3">*</span><span class="hl-0"> </span><span class="hl-9">as</span><span class="hl-0"> </span><span class="hl-1">Https</span><span class="hl-0"> </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'@nativescript-community/https'</span><span class="hl-0">;</span><br/><span class="hl-1">Https</span><span class="hl-0">.</span><span class="hl-8">disableSSLPinning</span><span class="hl-0">();</span>
</code><button>Copy</button></pre>
<p>All requests after calling this method will no longer utilize SSL pinning until it is re-enabled once again.</p>
<a id="md:uselegacy" class="tsd-anchor"></a><h3><a href="#md:uselegacy">useLegacy</a></h3><p>There is a new option called <code>useLegacy</code>. You can set of every request options.
When using that option the request will behave more like {N} http module.</p>
<ul>
<li>the <code>content</code> returned by a request is not the resulting string but an object. It follows <a href="https://docs.nativescript.org/api-reference/interfaces/_http_.httpcontent">HTTPContent</a> format for the most part. You can call <code>toJSON</code> or <code>toFile</code>. The only difference is that <code>toFile</code> returns a <code>Promise<File></code> which means that it is async and run in a background thread!</li>
<li>an error return a <code>content</code> too allowing you to read its content.</li>
</ul>
<a id="md:cookie" class="tsd-anchor"></a><h3><a href="#md:cookie">Cookie</a></h3><p>By default basic Cookie support is enabled to work like in {N} <code>http</code> module.
In the future more options will be added</p>
<a id="md:enabling-cache" class="tsd-anchor"></a><h3><a href="#md:enabling-cache">Enabling Cache</a></h3><pre><code class="language-typescript"><span class="hl-9">import</span><span class="hl-0"> { </span><span class="hl-1">knownFolders</span><span class="hl-0">, </span><span class="hl-1">path</span><span class="hl-0"> } </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'@nativescript/core/file-system'</span><span class="hl-0">;</span><br/><span class="hl-9">import</span><span class="hl-0"> </span><span class="hl-3">*</span><span class="hl-0"> </span><span class="hl-9">as</span><span class="hl-0"> </span><span class="hl-1">Https</span><span class="hl-0"> </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'@nativescript-community/https'</span><span class="hl-0">;</span><br/><span class="hl-1">Https</span><span class="hl-0">.</span><span class="hl-8">setCache</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-1">diskLocation:</span><span class="hl-0"> </span><span class="hl-1">path</span><span class="hl-0">.</span><span class="hl-8">join</span><span class="hl-0">(</span><span class="hl-1">knownFolders</span><span class="hl-0">.</span><span class="hl-8">documents</span><span class="hl-0">().</span><span class="hl-1">path</span><span class="hl-0">, </span><span class="hl-7">'httpcache'</span><span class="hl-0">),</span><br/><span class="hl-0"> </span><span class="hl-1">diskSize:</span><span class="hl-0"> </span><span class="hl-6">10</span><span class="hl-0"> * </span><span class="hl-6">1024</span><span class="hl-0"> * </span><span class="hl-6">1024</span><span class="hl-0">, </span><span class="hl-5">// 10 MiB</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-5">/// later on when calling your request you can use the cachePolicy option</span>
</code><button>Copy</button></pre>
<a id="md:multipart-form-data" class="tsd-anchor"></a><h3><a href="#md:multipart-form-data">Multipart form data</a></h3><p>If you set the <code>Content-Type</code> header to <code>"multipart/form-data"</code> the request body will be evaluated as a multipart form data. Each body parameter is expected to be in this format:</p>
<pre><code class="language-typescript"><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-10">data</span><span class="hl-0">: </span><span class="hl-1">any</span><br/><span class="hl-0"> </span><span class="hl-10">parameterName</span><span class="hl-0">: </span><span class="hl-1">string</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-1">fileName</span><span class="hl-0">?: </span><span class="hl-1">string</span><br/><span class="hl-0"> </span><span class="hl-1">contentType</span><span class="hl-0">?: </span><span class="hl-1">string</span><br/><span class="hl-0">}</span><br/>
</code><button>Copy</button></pre>
<p>if <code>fileName</code> and <code>contentType</code> are set then data is expected to be either a <code>NSData</code> on iOS or a <code>native.Array<number></code> on Android.</p>
<a id="md:options" class="tsd-anchor"></a><h3><a href="#md:options">Options</a></h3><pre><code class="language-typescript"><span class="hl-9">export</span><span class="hl-0"> </span><span class="hl-3">interface</span><span class="hl-0"> </span><span class="hl-4">HttpsSSLPinningOptions</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">host</span><span class="hl-0">: </span><span class="hl-4">string</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-1">certificate</span><span class="hl-0">: </span><span class="hl-4">string</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-1">allowInvalidCertificates</span><span class="hl-0">?: </span><span class="hl-4">boolean</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-1">validatesDomainName</span><span class="hl-0">?: </span><span class="hl-4">boolean</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-1">commonName</span><span class="hl-0">?: </span><span class="hl-4">string</span><span class="hl-0">;</span><br/><span class="hl-0">}</span><br/><span class="hl-9">import</span><span class="hl-0"> { </span><span class="hl-1">HttpRequestOptions</span><span class="hl-0"> } </span><span class="hl-9">from</span><span class="hl-0"> </span><span class="hl-7">'tns-core-modules/http'</span><span class="hl-0">;</span><br/><span class="hl-9">export</span><span class="hl-0"> </span><span class="hl-3">interface</span><span class="hl-0"> </span><span class="hl-4">HttpsRequestOptions</span><span class="hl-0"> </span><span class="hl-3">extends</span><span class="hl-0"> </span><span class="hl-4">HTTPOptions</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">useLegacy</span><span class="hl-0">?: </span><span class="hl-4">boolean</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-1">cachePolicy</span><span class="hl-0">?: </span><span class="hl-7">'noCache'</span><span class="hl-0"> | </span><span class="hl-7">'onlyCache'</span><span class="hl-0"> | </span><span class="hl-7">'ignoreCache'</span><span class="hl-0">;</span><br/><span class="hl-0"> </span><span class="hl-8">onProgress</span><span class="hl-0">?: (</span><span class="hl-1">current</span><span class="hl-0">: </span><span class="hl-4">number</span><span class="hl-0">, </span><span class="hl-1">total</span><span class="hl-0">: </span><span class="hl-4">number</span><span class="hl-0">) </span><span class="hl-3">=></span><span class="hl-0"> </span><span class="hl-4">void</span><span class="hl-0">;</span><br/><span class="hl-0">}</span>
</code><button>Copy</button></pre>
<table>
<thead>
<tr>
<th>SSLPinning Option</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td><code>host: string</code></td>
<td>This must be the request domain name eg <code>sales.company.org</code>.</td>
</tr>
<tr>
<td><code>commonName?: string</code></td>
<td>Default: options.host, set if certificate CN is different from the host eg <code>*.company.org</code> (Android specific)</td>
</tr>
<tr>
<td><code>certificate: string</code></td>
<td>The uri path to your <code>.cer</code> certificate file.</td>
</tr>
<tr>
<td><code>allowInvalidCertificates?: boolean</code></td>
<td>Default: <code>false</code>. This should <strong>always</strong> be <code>false</code> if you are using SSL pinning. Set this to <code>true</code> if you're using a self-signed certificate.</td>
</tr>
<tr>
<td><code>validatesDomainName?: boolean</code></td>
<td>Default: <code>true</code>. Determines if the domain name should be validated with your pinned certificate.</td>
</tr>
</tbody></table>
<table>
<thead>
<tr>
<th>Requests Option</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td><code>useLegacy?: boolean</code></td>
<td>Default: <code>false</code>. [IOS only] set to true in order to get the response data (when status >= 300)in the <code>content</code> directly instead of <code>response.body.content</code>.</td>
</tr>
<tr>
<td>`cachePolicy?: 'noCache'</td>
<td>'onlyCache'</td>
</tr>
<tr>
<td><code>onProgress?: (current: number, total: number) => void</code></td>
<td>[IOS only] Set the progress callback.</td>
</tr>
</tbody></table>
<p><a href="#webpack--bundling"></a></p>
<p><a href="#webpack--bundling"></a></p>
<a id="md:webpack--bundling" class="tsd-anchor"></a><h2><a href="#md:webpack--bundling">Webpack / bundling</a></h2><p>Since you're probably shipping a certificate with your app (like <a href="https://github.com/nativescript-community/https/tree/master/demo/app/assets">our demo does</a>),
make sure it's bundled by Webpack as well. You can do this by <a href="https://github.com/nativescript-community/https/blob/a5c841c0af7ff6d9994fa23f7fba0df0514c58f1/demo/webpack.config.js#L240">adding the certificate(s) with the <code>CopyWebpackPlugin</code></a>.</p>
<p><a href="#ios-troubleshooting"></a></p>
<p><a href="#ios-troubleshooting"></a></p>
<a id="md:ios-troubleshooting" class="tsd-anchor"></a><h2><a href="#md:ios-troubleshooting"><code>iOS</code> Troubleshooting</a></h2><blockquote>
<a id="md:please-educate-yourself-on-ios39s-app-transport-security-before-starting-beef" class="tsd-anchor"></a><h3><a href="#md:please-educate-yourself-on-ios39s-app-transport-security-before-starting-beef">Please educate yourself on iOS's <a href="https://github.com/codepath/ios_guides/wiki/App-Transport-Security">App Transport Security</a> before starting beef!</a></h3></blockquote>
<p>If you try and hit an <code>https</code> route without adding it to App Transport Security's whitelist it will not work!
You can bypass this behavior by adding the following to your projects <code>Info.plist</code>:</p>
<pre><code class="language-xml"><span class="hl-11"><</span><span class="hl-12">key</span><span class="hl-11">></span><span class="hl-0">NSAppTransportSecurity</span><span class="hl-11"></</span><span class="hl-12">key</span><span class="hl-11">></span><br/><span class="hl-11"><</span><span class="hl-12">dict</span><span class="hl-11">></span><br/><span class="hl-0"> </span><span class="hl-11"><</span><span class="hl-12">key</span><span class="hl-11">></span><span class="hl-0">NSAllowsArbitraryLoads</span><span class="hl-11"></</span><span class="hl-12">key</span><span class="hl-11">></span><br/><span class="hl-0"> </span><span class="hl-11"><</span><span class="hl-12">true</span><span class="hl-11">/></span><br/><span class="hl-11"></</span><span class="hl-12">dict</span><span class="hl-11">></span>
</code><button>Copy</button></pre>
<blockquote>
<p>This plugin <strong>does not</strong> add <code>NSAllowsArbitraryLoads</code> to your projects <code>Info.plist</code> for you.</p>
</blockquote>
<p><a href="#android-troubleshooting"></a></p>
<p><a href="#android-troubleshooting"></a></p>
<a id="md:android-troubleshooting" class="tsd-anchor"></a><h2><a href="#md:android-troubleshooting"><code>Android</code> troubleshooting</a></h2><p>If you app crashes with a message that it's doing too much networking on the main thread,
then pass the option <code>allowLargeResponse</code> with value <code>true</code> to the <code>request</code> function.</p>
<p><a href="#thanks"></a></p>
<p><a href="#thanks"></a></p>
<a id="md:thanks" class="tsd-anchor"></a><h1><a href="#md:thanks">Thanks</a></h1><table>
<thead>
<tr>
<th>Who</th>
<th>Why</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://github.com/roblav96">Robert Laverty</a></td>
<td>For creating and maintaining this plugin for a long time</td>
</tr>
<tr>
<td><a href="https://github.com/gethuman">Jeff Whelple</a></td>
<td>For contributing</td>
</tr>
<tr>
<td><a href="https://github.com/EddyVerbruggen">Eddy Verbruggen</a></td>
<td>For maintaining this before it got transferred</td>
</tr>
<tr>
<td><a href="https://github.com/AFNetworking">AFNetworking</a></td>
<td><a href="https://github.com/AFNetworking/AFNetworking">AFNetworking</a> A delightful networking framework for iOS, OS X, watchOS, and tvOS.</td>
</tr>
<tr>
<td><a href="http://square.github.io/">Square</a></td>
<td><a href="https://github.com/square/okhttp">okhttp</a> An HTTP+HTTP/2 client for Android and Java applications.</td>
</tr>
</tbody></table>
<a id="md:examples-1" class="tsd-anchor"></a><h3><a href="#md:examples-1">Examples:</a></h3><ul>
<li><a href="demo-snippets/vue/Basic.vue">Basic</a><ul>
<li>A basic example</li>
</ul>
</li>
</ul>
<p><a href="#demos-and-development"></a></p>
<p><a href="#demos-and-development"></a></p>
<a id="md:demos-and-development" class="tsd-anchor"></a><h2><a href="#md:demos-and-development">Demos and Development</a></h2><a id="md:repo-setup" class="tsd-anchor"></a><h3><a href="#md:repo-setup">Repo Setup</a></h3><p>The repo uses submodules. If you did not clone with <code> --recursive</code> then you need to call</p>
<pre><code><span class="hl-1">git</span><span class="hl-0"> </span><span class="hl-1">submodule</span><span class="hl-0"> </span><span class="hl-1">update</span><span class="hl-0"> --</span><span class="hl-1">init</span>
</code><button>Copy</button></pre>
<p>The package manager used to install and link dependencies must be <code>pnpm</code> or <code>yarn</code>. <code>npm</code> wont work.</p>
<p>To develop and test:
if you use <code>yarn</code> then run <code>yarn</code>
if you use <code>pnpm</code> then run <code>pnpm i</code></p>
<p><strong>Interactive Menu:</strong></p>
<p>To start the interactive menu, run <code>npm start</code> (or <code>yarn start</code> or <code>pnpm start</code>). This will list all of the commonly used scripts.</p>
<a id="md:build" class="tsd-anchor"></a><h3><a href="#md:build">Build</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">build.all</span>
</code><button>Copy</button></pre>
<p>WARNING: it seems <code>yarn build.all</code> wont always work (not finding binaries in <code>node_modules/.bin</code>) which is why the doc explicitly uses <code>npm run</code></p>
<a id="md:demos" class="tsd-anchor"></a><h3><a href="#md:demos">Demos</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">demo.[ng</span><span class="hl-0">|</span><span class="hl-8">react</span><span class="hl-0">|</span><span class="hl-8">svelte</span><span class="hl-0">|</span><span class="hl-8">vue].[ios</span><span class="hl-0">|</span><span class="hl-8">android]</span><br/><br/><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">demo.svelte.ios</span><span class="hl-0"> </span><span class="hl-5"># Example</span>
</code><button>Copy</button></pre>
<p>Demo setup is a bit special in the sense that if you want to modify/add demos you dont work directly in <code>demo-[ng|react|svelte|vue]</code>
Instead you work in <code>demo-snippets/[ng|react|svelte|vue]</code>
You can start from the <code>install.ts</code> of each flavor to see how to register new demos </p>
<p><a href="#contributing"></a></p>
<p><a href="#contributing"></a></p>
<a id="md:contributing" class="tsd-anchor"></a><h2><a href="#md:contributing">Contributing</a></h2><a id="md:update-repo" class="tsd-anchor"></a><h3><a href="#md:update-repo">Update repo</a></h3><p>You can update the repo files quite easily</p>
<p>First update the submodules</p>
<pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">update</span>
</code><button>Copy</button></pre>
<p>Then commit the changes
Then update common files</p>
<pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">sync</span>
</code><button>Copy</button></pre>
<p>Then you can run <code>yarn|pnpm</code>, commit changed files if any</p>
<a id="md:update-readme" class="tsd-anchor"></a><h3><a href="#md:update-readme">Update readme</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">readme</span>
</code><button>Copy</button></pre>
<a id="md:update-doc" class="tsd-anchor"></a><h3><a href="#md:update-doc">Update doc</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">doc</span>
</code><button>Copy</button></pre>
<a id="md:publish" class="tsd-anchor"></a><h3><a href="#md:publish">Publish</a></h3><p>The publishing is completely handled by <code>lerna</code> (you can add <code>-- --bump major</code> to force a major release)
Simply run </p>
<pre><code class="language-shell"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">publish</span>
</code><button>Copy</button></pre>
<a id="md:modifying-submodules" class="tsd-anchor"></a><h3><a href="#md:modifying-submodules">modifying submodules</a></h3><p>The repo uses https:// for submodules which means you won't be able to push directly into the submodules.
One easy solution is t modify <code>~/.gitconfig</code> and add</p>
<pre><code><span class="hl-0">[</span><span class="hl-1">url</span><span class="hl-0"> </span><span class="hl-7">"ssh://git@github.com/"</span><span class="hl-0">]</span><br/><span class="hl-0"> </span><span class="hl-1">pushInsteadOf</span><span class="hl-0"> = </span><span class="hl-10">https</span><span class="hl-0">:</span><span class="hl-5">//github.com/</span>
</code><button>Copy</button></pre>
<p><a href="#questions"></a></p>
<p><a href="#questions"></a></p>
<a id="md:questions" class="tsd-anchor"></a><h2><a href="#md:questions">Questions</a></h2><p>If you have any questions/issues/comments please feel free to create an issue or start a conversation in the <a href="https://nativescript.org/discord">NativeScript Community Discord</a>.</p>
<p><a href="#demos-and-development"></a></p>
<a id="md:demos-and-development-1" class="tsd-anchor"></a><h2><a href="#md:demos-and-development-1">Demos and Development</a></h2><a id="md:repo-setup-1" class="tsd-anchor"></a><h3><a href="#md:repo-setup-1">Repo Setup</a></h3><p>The repo uses submodules. If you did not clone with <code> --recursive</code> then you need to call</p>
<pre><code><span class="hl-1">git</span><span class="hl-0"> </span><span class="hl-1">submodule</span><span class="hl-0"> </span><span class="hl-1">update</span><span class="hl-0"> --</span><span class="hl-1">init</span>
</code><button>Copy</button></pre>
<p>The package manager used to install and link dependencies must be <code>pnpm</code> or <code>yarn</code>. <code>npm</code> wont work.</p>
<p>To develop and test:
if you use <code>yarn</code> then run <code>yarn</code>
if you use <code>pnpm</code> then run <code>pnpm i</code></p>
<p><strong>Interactive Menu:</strong></p>
<p>To start the interactive menu, run <code>npm start</code> (or <code>yarn start</code> or <code>pnpm start</code>). This will list all of the commonly used scripts.</p>
<a id="md:build-1" class="tsd-anchor"></a><h3><a href="#md:build-1">Build</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">build.all</span>
</code><button>Copy</button></pre>
<p>WARNING: it seems <code>yarn build.all</code> wont always work (not finding binaries in <code>node_modules/.bin</code>) which is why the doc explicitly uses <code>npm run</code></p>
<a id="md:demos-1" class="tsd-anchor"></a><h3><a href="#md:demos-1">Demos</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">demo.[ng</span><span class="hl-0">|</span><span class="hl-8">react</span><span class="hl-0">|</span><span class="hl-8">svelte</span><span class="hl-0">|</span><span class="hl-8">vue].[ios</span><span class="hl-0">|</span><span class="hl-8">android]</span><br/><br/><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">demo.svelte.ios</span><span class="hl-0"> </span><span class="hl-5"># Example</span>
</code><button>Copy</button></pre>
<p>Demo setup is a bit special in the sense that if you want to modify/add demos you dont work directly in <code>demo-[ng|react|svelte|vue]</code>
Instead you work in <code>demo-snippets/[ng|react|svelte|vue]</code>
You can start from the <code>install.ts</code> of each flavor to see how to register new demos </p>
<p><a href="#contributing"></a></p>
<a id="md:contributing-1" class="tsd-anchor"></a><h2><a href="#md:contributing-1">Contributing</a></h2><a id="md:update-repo-1" class="tsd-anchor"></a><h3><a href="#md:update-repo-1">Update repo</a></h3><p>You can update the repo files quite easily</p>
<p>First update the submodules</p>
<pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">update</span>
</code><button>Copy</button></pre>
<p>Then commit the changes
Then update common files</p>
<pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">sync</span>
</code><button>Copy</button></pre>
<p>Then you can run <code>yarn|pnpm</code>, commit changed files if any</p>
<a id="md:update-readme-1" class="tsd-anchor"></a><h3><a href="#md:update-readme-1">Update readme</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">readme</span>
</code><button>Copy</button></pre>
<a id="md:update-doc-1" class="tsd-anchor"></a><h3><a href="#md:update-doc-1">Update doc</a></h3><pre><code class="language-bash"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">doc</span>
</code><button>Copy</button></pre>
<a id="md:publish-1" class="tsd-anchor"></a><h3><a href="#md:publish-1">Publish</a></h3><p>The publishing is completely handled by <code>lerna</code> (you can add <code>-- --bump major</code> to force a major release)
Simply run </p>
<pre><code class="language-shell"><span class="hl-8">npm</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0"> </span><span class="hl-7">publish</span>
</code><button>Copy</button></pre>
<a id="md:modifying-submodules-1" class="tsd-anchor"></a><h3><a href="#md:modifying-submodules-1">modifying submodules</a></h3><p>The repo uses https:// for submodules which means you won't be able to push directly into the submodules.
One easy solution is t modify <code>~/.gitconfig</code> and add</p>
<pre><code><span class="hl-0">[</span><span class="hl-1">url</span><span class="hl-0"> </span><span class="hl-7">"ssh://git@github.com/"</span><span class="hl-0">]</span><br/><span class="hl-0"> </span><span class="hl-1">pushInsteadOf</span><span class="hl-0"> = </span><span class="hl-10">https</span><span class="hl-0">:</span><span class="hl-5">//github.com/</span>
</code><button>Copy</button></pre>
<p><a href="#questions"></a></p>
<a id="md:questions-1" class="tsd-anchor"></a><h2><a href="#md:questions-1">Questions</a></h2><p>If you have any questions/issues/comments please feel free to create an issue or start a conversation in the <a href="https://nativescript.org/discord">NativeScript Community Discord</a>.</p>
</div></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>Settings</h3></summary>
<div class="tsd-accordion-details">
<div class="tsd-filter-visibility">
<h4 class="uppercase">Member Visibility</h4><form>
<ul id="tsd-filter-options">
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></form></div>
<div class="tsd-theme-toggle">
<h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
<details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary">
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>On This Page</h3></summary>
<div class="tsd-accordion-details">
<ul>
<li>
<ul>
<li><a href="#md:table-of-contents"><span>Table of <wbr/>Contents</span></a></li>
<li>
<ul>
<li><a href="#md:installation"><span>Installation</span></a></li>
<li>
<ul>
<li><a href="#md:a-drop-in-replacement-for-the-default-http-module"><span>A drop-<wbr/>in replacement for the default http module.</span></a></li></ul></li>
<li><a href="#md:features"><span>Features</span></a></li>
<li><a href="#md:faq"><span>FAQ</span></a></li>
<li><a href="#md:installation-1"><span>Installation</span></a></li>
<li><a href="#md:examples"><span>Examples</span></a></li>
<li>
<ul>
<li><a href="#md:hitting-an-api-using-get-method"><span>Hitting an API using GET method</span></a></li></ul></li>
<li><a href="#md:configuration"><span>Configuration</span></a></li>
<li>
<ul>
<li><a href="#md:installing-your-ssl-certificate"><span>Installing your SSL certificate</span></a></li>
<li>
<ul>
<li><a href="#md:enabling-ssl-pinning"><span>Enabling SSL pinning</span></a></li>
<li><a href="#md:disabling-ssl-pinning"><span>Disabling SSL pinning</span></a></li></ul></li>
<li><a href="#md:uselegacy"><span>use<wbr/>Legacy</span></a></li>
<li><a href="#md:cookie"><span>Cookie</span></a></li>
<li><a href="#md:enabling-cache"><span>Enabling <wbr/>Cache</span></a></li>
<li><a href="#md:multipart-form-data"><span>Multipart form data</span></a></li>
<li><a href="#md:options"><span>Options</span></a></li></ul></li>
<li><a href="#md:webpack--bundling"><span>Webpack / bundling</span></a></li>
<li><a href="#md:ios-troubleshooting"><span>iOS <wbr/>Troubleshooting</span></a></li>
<li>
<ul>
<li><a href="#md:please-educate-yourself-on-ios39s-app-transport-security-before-starting-beef"><span>Please educate yourself on iOS's <wbr/>App <wbr/>Transport <wbr/>Security before starting beef!</span></a></li></ul></li>
<li><a href="#md:android-troubleshooting"><span>Android troubleshooting</span></a></li></ul></li>
<li><a href="#md:thanks"><span>Thanks</span></a></li>
<li>
<ul>
<li><a href="#md:examples-1"><span>Examples:</span></a></li>
<li><a href="#md:demos-and-development"><span>Demos and <wbr/>Development</span></a></li>
<li>
<ul>
<li><a href="#md:repo-setup"><span>Repo <wbr/>Setup</span></a></li>
<li><a href="#md:build"><span>Build</span></a></li>
<li><a href="#md:demos"><span>Demos</span></a></li></ul></li>
<li><a href="#md:contributing"><span>Contributing</span></a></li>
<li>
<ul>
<li><a href="#md:update-repo"><span>Update repo</span></a></li>
<li><a href="#md:update-readme"><span>Update readme</span></a></li>
<li><a href="#md:update-doc"><span>Update doc</span></a></li>
<li><a href="#md:publish"><span>Publish</span></a></li>
<li><a href="#md:modifying-submodules"><span>modifying submodules</span></a></li></ul></li>
<li><a href="#md:questions"><span>Questions</span></a></li>
<li><a href="#md:demos-and-development-1"><span>Demos and <wbr/>Development</span></a></li>
<li>
<ul>
<li><a href="#md:repo-setup-1"><span>Repo <wbr/>Setup</span></a></li>
<li><a href="#md:build-1"><span>Build</span></a></li>
<li><a href="#md:demos-1"><span>Demos</span></a></li></ul></li>
<li><a href="#md:contributing-1"><span>Contributing</span></a></li>
<li>
<ul>
<li><a href="#md:update-repo-1"><span>Update repo</span></a></li>
<li><a href="#md:update-readme-1"><span>Update readme</span></a></li>
<li><a href="#md:update-doc-1"><span>Update doc</span></a></li>
<li><a href="#md:publish-1"><span>Publish</span></a></li>
<li><a href="#md:modifying-submodules-1"><span>modifying submodules</span></a></li></ul></li>
<li><a href="#md:questions-1"><span>Questions</span></a></li></ul></li></ul></li></ul></div></details></div>
<div class="site-menu">
<nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1"></use></svg><span>Nativescript plugin for https requests</span></a>
<ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".">
<li><a href="interfaces/CacheOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>CacheOptions</a></li>
<li><a href="interfaces/Headers.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>Headers</a></li>
<li><a href="interfaces/HttpsFormDataParam.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsFormDataParam</a></li>
<li><a href="interfaces/HttpsRequest.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsRequest</a></li>
<li><a href="interfaces/HttpsRequestObject.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsRequestObject</a></li>
<li><a href="interfaces/HttpsRequestOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsRequestOptions</a></li>
<li><a href="interfaces/HttpsResponse.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsResponse</a></li>
<li><a href="interfaces/HttpsResponseLegacy.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsResponseLegacy</a></li>
<li><a href="interfaces/HttpsSSLPinningOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>HttpsSSLPinningOptions</a></li>
<li><a href="types/CachePolicy.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>CachePolicy</a></li>
<li><a href="variables/interceptors.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>interceptors</a></li>
<li><a href="variables/networkInterceptors.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>networkInterceptors</a></li>
<li><a href="functions/addInterceptor.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>addInterceptor</a></li>
<li><a href="functions/addNetworkInterceptor.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>addNetworkInterceptor</a></li>
<li><a href="functions/cancelAllRequests.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>cancelAllRequests</a></li>
<li><a href="functions/cancelRequest.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>cancelRequest</a></li>
<li><a href="functions/clearCache.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>clearCache</a></li>
<li><a href="functions/clearCookies.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>clearCookies</a></li>
<li><a href="functions/createRequest.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>createRequest</a></li>
<li><a href="functions/disableSSLPinning.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>disableSSLPinning</a></li>
<li><a href="functions/enableSSLPinning.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>enableSSLPinning</a></li>
<li>Loading...</li></ul></nav></div></div></div>
<div class="tsd-generator">
<p>Generated using <a href="https://typedoc.org/" rel="noopener" target="_blank">TypeDoc</a></p></div>
<div class="overlay"></div><svg style="display: none"><g id="icon-1"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g><g id="icon-2"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g><g id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g><g id="icon-8"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)"></path></g><g id="icon-16"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-32"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)"></path></g><g id="icon-64"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)"></path></g><g id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g><g id="icon-512"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g><g id="icon-4096"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)"></path></g><g id="icon-8192"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-16384"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g><g id="icon-32768"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-65536"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g><g id="icon-131072"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g><g id="icon-262144"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g><g id="icon-524288"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g><g id="icon-1048576"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g><g id="icon-2097152"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="#FF4D82" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M10.354 17V8.24H13.066C13.586 8.24 14.042 8.348 14.434 8.564C14.826 8.772 15.13 9.064 15.346 9.44C15.562 9.816 15.67 10.256 15.67 10.76C15.67 11.352 15.514 11.86 15.202 12.284C14.898 12.708 14.482 13 13.954 13.16L15.79 17H14.518L12.838 13.28H11.434V17H10.354ZM11.434 12.308H13.066C13.514 12.308 13.874 12.168 14.146 11.888C14.418 11.6 14.554 11.224 14.554 10.76C14.554 10.288 14.418 9.912 14.146 9.632C13.874 9.352 13.514 9.212 13.066 9.212H11.434V12.308Z" fill="var(--color-text)"></path></g><g id="icon-chevronDown"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></g><g id="icon-chevronSmall"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></g><g id="icon-menu"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></g><g id="icon-search"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></g><g id="icon-anchor"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></g></svg></body></html>