rezo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +1507 -0
  3. package/assets/icon.svg +37 -0
  4. package/assets/logo-dark.svg +47 -0
  5. package/assets/logo.svg +58 -0
  6. package/dist/adapters/curl.cjs +1034 -0
  7. package/dist/adapters/curl.js +1031 -0
  8. package/dist/adapters/entries/curl.cjs +4 -0
  9. package/dist/adapters/entries/curl.d.ts +2136 -0
  10. package/dist/adapters/entries/curl.js +2 -0
  11. package/dist/adapters/entries/fetch.cjs +2 -0
  12. package/dist/adapters/entries/fetch.d.ts +2127 -0
  13. package/dist/adapters/entries/fetch.js +1 -0
  14. package/dist/adapters/entries/http.cjs +2 -0
  15. package/dist/adapters/entries/http.d.ts +2126 -0
  16. package/dist/adapters/entries/http.js +1 -0
  17. package/dist/adapters/entries/http2.cjs +4 -0
  18. package/dist/adapters/entries/http2.d.ts +2136 -0
  19. package/dist/adapters/entries/http2.js +2 -0
  20. package/dist/adapters/entries/react-native.cjs +2 -0
  21. package/dist/adapters/entries/react-native.d.ts +2126 -0
  22. package/dist/adapters/entries/react-native.js +1 -0
  23. package/dist/adapters/entries/xhr.cjs +2 -0
  24. package/dist/adapters/entries/xhr.d.ts +2127 -0
  25. package/dist/adapters/entries/xhr.js +1 -0
  26. package/dist/adapters/fetch.cjs +740 -0
  27. package/dist/adapters/fetch.js +739 -0
  28. package/dist/adapters/http.cjs +1153 -0
  29. package/dist/adapters/http.js +1151 -0
  30. package/dist/adapters/http2.cjs +957 -0
  31. package/dist/adapters/http2.js +956 -0
  32. package/dist/adapters/index.cjs +6 -0
  33. package/dist/adapters/index.js +7 -0
  34. package/dist/adapters/picker.cjs +342 -0
  35. package/dist/adapters/picker.js +331 -0
  36. package/dist/adapters/react-native.cjs +545 -0
  37. package/dist/adapters/react-native.js +544 -0
  38. package/dist/adapters/xhr.cjs +622 -0
  39. package/dist/adapters/xhr.js +621 -0
  40. package/dist/cache/dns-cache.cjs +118 -0
  41. package/dist/cache/dns-cache.js +113 -0
  42. package/dist/cache/file-cacher.cjs +264 -0
  43. package/dist/cache/file-cacher.js +261 -0
  44. package/dist/cache/index.cjs +13 -0
  45. package/dist/cache/index.js +5 -0
  46. package/dist/cache/lru-cache.cjs +96 -0
  47. package/dist/cache/lru-cache.js +93 -0
  48. package/dist/cache/response-cache.cjs +314 -0
  49. package/dist/cache/response-cache.js +310 -0
  50. package/dist/cache/url-store.cjs +288 -0
  51. package/dist/cache/url-store.js +285 -0
  52. package/dist/core/hooks.cjs +133 -0
  53. package/dist/core/hooks.js +120 -0
  54. package/dist/core/rezo.cjs +464 -0
  55. package/dist/core/rezo.js +458 -0
  56. package/dist/crawler.d.ts +6255 -0
  57. package/dist/dom/index.cjs +1 -0
  58. package/dist/dom/index.d.ts +23 -0
  59. package/dist/dom/index.js +1 -0
  60. package/dist/entries/crawler.cjs +5 -0
  61. package/dist/entries/crawler.js +2 -0
  62. package/dist/errors/rezo-error.cjs +722 -0
  63. package/dist/errors/rezo-error.js +716 -0
  64. package/dist/index.cjs +34 -0
  65. package/dist/index.d.ts +3335 -0
  66. package/dist/index.js +26 -0
  67. package/dist/platform/browser.cjs +9 -0
  68. package/dist/platform/browser.d.ts +3203 -0
  69. package/dist/platform/browser.js +7 -0
  70. package/dist/platform/bun.cjs +9 -0
  71. package/dist/platform/bun.d.ts +3203 -0
  72. package/dist/platform/bun.js +7 -0
  73. package/dist/platform/deno.cjs +9 -0
  74. package/dist/platform/deno.d.ts +3203 -0
  75. package/dist/platform/deno.js +7 -0
  76. package/dist/platform/node.cjs +9 -0
  77. package/dist/platform/node.d.ts +3203 -0
  78. package/dist/platform/node.js +7 -0
  79. package/dist/platform/react-native.cjs +9 -0
  80. package/dist/platform/react-native.d.ts +3203 -0
  81. package/dist/platform/react-native.js +7 -0
  82. package/dist/platform/worker.cjs +9 -0
  83. package/dist/platform/worker.d.ts +3203 -0
  84. package/dist/platform/worker.js +7 -0
  85. package/dist/plugin/addon/decodo/index.cjs +1 -0
  86. package/dist/plugin/addon/decodo/index.js +1 -0
  87. package/dist/plugin/addon/decodo/options.cjs +1 -0
  88. package/dist/plugin/addon/decodo/options.js +1 -0
  89. package/dist/plugin/addon/oxylabs/index.cjs +1 -0
  90. package/dist/plugin/addon/oxylabs/index.js +1 -0
  91. package/dist/plugin/addon/oxylabs/options.cjs +1 -0
  92. package/dist/plugin/addon/oxylabs/options.js +1 -0
  93. package/dist/plugin/crawler-options.cjs +1 -0
  94. package/dist/plugin/crawler-options.js +1 -0
  95. package/dist/plugin/crawler.cjs +519 -0
  96. package/dist/plugin/crawler.js +517 -0
  97. package/dist/plugin/index.cjs +36 -0
  98. package/dist/plugin/index.js +32 -0
  99. package/dist/proxy/index.cjs +142 -0
  100. package/dist/proxy/index.js +139 -0
  101. package/dist/responses/buildError.cjs +452 -0
  102. package/dist/responses/buildError.js +441 -0
  103. package/dist/responses/buildResponse.cjs +365 -0
  104. package/dist/responses/buildResponse.js +361 -0
  105. package/dist/responses/download.cjs +54 -0
  106. package/dist/responses/download.js +52 -0
  107. package/dist/responses/stream.cjs +60 -0
  108. package/dist/responses/stream.js +58 -0
  109. package/dist/responses/upload.cjs +54 -0
  110. package/dist/responses/upload.js +52 -0
  111. package/dist/types/cookies.cjs +394 -0
  112. package/dist/types/cookies.js +391 -0
  113. package/dist/types/download.cjs +10 -0
  114. package/dist/types/download.js +10 -0
  115. package/dist/types/rezo-request.cjs +131 -0
  116. package/dist/types/rezo-request.js +131 -0
  117. package/dist/utils/agent-merger.cjs +111 -0
  118. package/dist/utils/agent-merger.js +108 -0
  119. package/dist/utils/compression.cjs +84 -0
  120. package/dist/utils/compression.js +82 -0
  121. package/dist/utils/cookies.cjs +514 -0
  122. package/dist/utils/cookies.js +511 -0
  123. package/dist/utils/data-operations.cjs +75 -0
  124. package/dist/utils/data-operations.js +73 -0
  125. package/dist/utils/form-data.cjs +164 -0
  126. package/dist/utils/form-data.js +161 -0
  127. package/dist/utils/headers.cjs +162 -0
  128. package/dist/utils/headers.js +161 -0
  129. package/dist/utils/http-config.cjs +723 -0
  130. package/dist/utils/http-config.js +718 -0
  131. package/dist/utils/index.cjs +8 -0
  132. package/dist/utils/index.js +8 -0
  133. package/dist/utils/tools.cjs +18 -0
  134. package/dist/utils/tools.js +15 -0
  135. package/package.json +172 -0
package/LICENSE ADDED
@@ -0,0 +1,202 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024-2025 Yuniq Solutions Tech
4
+ Copyright (c) 2024-2025 Olajide Mathew Ogundare
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+
24
+ ================================================================================
25
+ ADDITIONAL TERMS
26
+ ================================================================================
27
+
28
+ The following additional terms apply to this software:
29
+
30
+ 1. ATTRIBUTION
31
+
32
+ When redistributing the Software or derivative works thereof, you must:
33
+
34
+ a) Retain the original copyright notice, this list of conditions, and the
35
+ disclaimer in all copies or substantial portions of the Software.
36
+
37
+ b) Provide clear attribution to the original authors in any documentation
38
+ or other materials provided with the distribution.
39
+
40
+ c) Not use the name "Rezo", "Yuniq Solutions Tech", or the names of
41
+ contributors to endorse or promote products derived from this Software
42
+ without specific prior written permission.
43
+
44
+ 2. CONTRIBUTIONS
45
+
46
+ Any contributions intentionally submitted for inclusion in this Software
47
+ by you shall be under the terms and conditions of this License, without
48
+ any additional terms or conditions. Contributors retain copyright to their
49
+ contributions while granting the project maintainers perpetual, worldwide,
50
+ non-exclusive, no-charge, royalty-free, irrevocable license to use, copy,
51
+ modify, merge, publish, distribute, sublicense, and/or sell copies of
52
+ their contributions.
53
+
54
+ 3. THIRD-PARTY COMPONENTS
55
+
56
+ This Software may include or depend on third-party components that are
57
+ licensed under different terms. The licenses for these components are
58
+ included in their respective directories or in a THIRD-PARTY-LICENSES
59
+ file. It is your responsibility to comply with the license terms of all
60
+ third-party components used in conjunction with this Software.
61
+
62
+ Key dependencies and their licenses:
63
+
64
+ - tough-cookie: BSD-3-Clause License
65
+ - http-proxy-agent: MIT License
66
+ - https-proxy-agent: MIT License
67
+ - socks-proxy-agent: MIT License
68
+ - form-data: MIT License
69
+ - agent-base: MIT License
70
+ - p-queue: MIT License
71
+ - linkedom: ISC License
72
+
73
+ 4. TRADEMARK
74
+
75
+ "Rezo" and the Rezo logo are trademarks of Yuniq Solutions Tech. You may
76
+ not use these trademarks without prior written permission, except as
77
+ required for reasonable and customary use in describing the origin of the
78
+ Software.
79
+
80
+ 5. EXPORT COMPLIANCE
81
+
82
+ You agree to comply with all applicable export and re-export control laws
83
+ and regulations, including the Export Administration Regulations maintained
84
+ by the U.S. Department of Commerce, trade and economic sanctions maintained
85
+ by the Treasury Department's Office of Foreign Assets Control, and the
86
+ International Traffic in Arms Regulations maintained by the Department of
87
+ State.
88
+
89
+ 6. GOVERNMENT USE
90
+
91
+ If you are a U.S. government end user, the Software is licensed with only
92
+ those rights set forth in this License, in accordance with applicable FAR
93
+ provisions.
94
+
95
+ ================================================================================
96
+ DISCLAIMER
97
+ ================================================================================
98
+
99
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
100
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
101
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
102
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
103
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
104
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
105
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
106
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
107
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
108
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
109
+ POSSIBILITY OF SUCH DAMAGE.
110
+
111
+ ================================================================================
112
+ LIMITATION OF LIABILITY
113
+ ================================================================================
114
+
115
+ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW:
116
+
117
+ 1. IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS, OR CONTRIBUTORS BE LIABLE
118
+ FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE, OR CONSEQUENTIAL
119
+ DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
120
+ BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS
121
+ OF DATA, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY
122
+ TO USE THE SOFTWARE, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY
123
+ OF SUCH DAMAGES.
124
+
125
+ 2. THE TOTAL LIABILITY OF THE AUTHORS, COPYRIGHT HOLDERS, AND CONTRIBUTORS FOR
126
+ ANY CLAIMS ARISING FROM OR RELATED TO THIS LICENSE OR THE SOFTWARE SHALL NOT
127
+ EXCEED THE AMOUNT YOU PAID FOR THE SOFTWARE (IF ANY).
128
+
129
+ 3. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
130
+ CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO
131
+ YOU.
132
+
133
+ ================================================================================
134
+ INDEMNIFICATION
135
+ ================================================================================
136
+
137
+ You agree to indemnify, defend, and hold harmless the authors, copyright
138
+ holders, and contributors from and against any and all claims, damages,
139
+ obligations, losses, liabilities, costs, or debt, and expenses (including
140
+ but not limited to attorney's fees) arising from:
141
+
142
+ 1. Your use of and access to the Software;
143
+
144
+ 2. Your violation of any term of this License;
145
+
146
+ 3. Your violation of any third-party right, including without limitation any
147
+ copyright, property, or privacy right; or
148
+
149
+ 4. Any claim that your use of the Software caused damage to a third party.
150
+
151
+ This defense and indemnification obligation will survive this License and your
152
+ use of the Software.
153
+
154
+ ================================================================================
155
+ SEVERABILITY
156
+ ================================================================================
157
+
158
+ If any provision of this License is held to be unenforceable or invalid, that
159
+ provision will be enforced to the maximum extent possible, and the other
160
+ provisions will remain in full force and effect.
161
+
162
+ ================================================================================
163
+ GOVERNING LAW
164
+ ================================================================================
165
+
166
+ This License shall be governed by and construed in accordance with the laws of
167
+ the State of Delaware, United States of America, without regard to its conflict
168
+ of law provisions. Any legal action or proceeding relating to this License
169
+ shall be instituted in a state or federal court in Delaware, and each party
170
+ irrevocably submits to the jurisdiction of such courts.
171
+
172
+ ================================================================================
173
+ ENTIRE AGREEMENT
174
+ ================================================================================
175
+
176
+ This License constitutes the entire agreement between you and the copyright
177
+ holders regarding the use of the Software and supersedes all prior and
178
+ contemporaneous written or oral agreements regarding such subject matter.
179
+
180
+ ================================================================================
181
+ CONTACT
182
+ ================================================================================
183
+
184
+ For questions regarding this license or the Software:
185
+
186
+ Yuniq Solutions Tech
187
+ Email: git@yuniq.solutions
188
+ Website: https://yuniq.solutions
189
+ GitHub: https://github.com/yuniqsolutions/rezo
190
+
191
+ ================================================================================
192
+ VERSION HISTORY
193
+ ================================================================================
194
+
195
+ Version 1.0 - December 2024
196
+ - Initial release of the Rezo HTTP Client Library
197
+ - MIT License with additional terms
198
+
199
+ ================================================================================
200
+
201
+ By using the Software, you acknowledge that you have read this License,
202
+ understand it, and agree to be bound by its terms and conditions.