Andrew
a654842d56
fix(client/types): make args param optional if the input has no required keys ( #1618 )
...
* feat(types.ts): add RequiredKeysOf and HasRequiredKeys utility types
* fix(client/types.ts): make args param optional if input has no required keys
* chore(types.ts): move RequiredKeysOf and HasRequiredKeys types to utils/types.ts
* chore(types.ts): rewrite ClientRequest type
* chore(types.ts): fix formatting
* chore(types.ts): denoify
2023-10-26 18:07:25 +09:00
Sor4chi
e4f7f971a8
feat: parseBody()
for multi values' field ( #1528 )
...
* feat: add "all" option to parseBody
* feat: add parseBody option to `req.parseBody()`
* test: add single value (override) and multiple value cases to praseBody
* test: split parse case of parseBody
* chore: denoify
* refactor(body): make clear parseBody logic
* chore: denoify
* fix: single value of the field should not be parsed to array
* test: add some case of single value's field in "all" option
* chore: denoify
2023-10-05 16:33:56 +09:00
Yusuke Wada
c7fc8a033a
fix(utils/buffer): fix bufferToFormData()
( #1500 )
...
* fix(utils/buffer): fix `bufferToFormData()`
* denoify
2023-09-23 23:46:09 +09:00
Yusuke Wada
3eb52bc102
Merge pull request #1489 from honojs/next
2023-09-21 11:44:56 +09:00
Nico Plyley
d6478aac6c
fix(jwt): incorrect error message ( #1487 )
2023-09-21 06:14:48 +09:00
Yusuke Wada
6c374623ed
Merge branch 'main' into next
2023-09-21 00:32:01 +09:00
Yusuke Wada
2c47bf5890
fix(context): fix c.stream()
and c.streamText()
matters ( #1482 )
...
* fix(context): fix `c.stream()` and `c.streamText()`
* denoify
* remove the not used line
2023-09-20 22:53:30 +09:00
Yusuke Wada
11f2fe53ad
fix(jwt): avoid using enum
( #1485 )
...
* fix(jwt): avoid using `enum`
* denoify
2023-09-20 22:48:14 +09:00
Bakunya | Kirisaki Rem
f25ae8aa5c
feat: Improvement of Parse Body ( #1461 )
...
* feat: improvement of parse body
* feat: add test for improvement of parse body commit
* chore: denoify and fix:format
* rm: test file on deno_dist
---------
Co-authored-by: irvan hakim <irvanhakim.dev@gmail.com>
2023-09-17 01:09:25 +09:00
CyberFlame
d64cbdb05a
feat: Add CHIP support - supersedes #1198 ( #1456 )
...
Signed-off-by: CyberFlame <cyberflameu@gmail.com>
Co-authored-by: David Manouchehri <david.manouchehri@ai.moda>
2023-09-17 00:57:26 +09:00
Sor4chi
31f0605209
feat: Add c.stream()
( #1437 )
...
* feat: implement stream api utility-class
* test: write the test of StreamApi
* feat: implement `c.stream` to context
* test: write the test of `c.stream()`
* chore: denoify
* fix: extend for bytes, remove buffer system, add pipe and log interface
* test: update test about log, pipe, etc... for streaming API
* feat: extend textStream interface, remove utf-8 content-type
* test: add test about `c.textStream`
* refactor: update some args name
* chore: denoify
* fix: for deno, removed the optional parameter of `write` and `writeln`
* chore: denoify
* feat: add charset for textStream content-type header
* fix: rename textStream to streamText
* fix: reuse stream in streamText for bundle size
* feat: add `stream.wait()` api
* chore: denoify
* fix: rename `stream.wait` to `stream.sleep`
* test: use `stream.sleep` for waiting
* refactor: remove `stream.log`
* fix: remove preHeader from `c.stream()` and use `transfer-encoding` only `c.streamText()`
* chore: denoify
* refactoring: remove preHeader initialize
* test: reduce sleep duration
* chore: denoify
Co-authored-by: Glen Maddern <glenmaddern@gmail.com>
2023-09-17 00:57:26 +09:00
Yusuke Wada
bb386a49c9
fix(types): middleware with different env types ( #1466 )
...
* fix(types): middleware with different env types
* denoify
* fix factory helper
2023-09-16 20:32:54 +09:00
jkeys089
d6ec48ee02
feat(cookie): cookie parsing improvements ( #1428 )
2023-09-09 17:05:09 +09:00
Yusuke Wada
405ec8cdb7
fix(utils/buffer
): don't decode space as +
( #1411 )
...
* fix(`utils/buffer`): don't decode space as `+`
* denoify
2023-09-05 17:30:40 +09:00
Yusuke Wada
5cbd89c3ae
fix(validator): cache arrayBuffer
to use after validation ( #1393 )
...
* wip
* fix(validator): cache `arrayBuffer` to use after validation
* denoify
* refactor
* denoify
* make it `bufferToFormData()` in utils/buffer.ts
2023-09-03 14:43:01 +09:00
Torsten Engelbrecht
1a2c0d58e5
fix(middleware): signed cookie misinterpretation of cookie values with dot ( #1342 )
...
Close #1337
2023-08-18 18:56:10 +09:00
Yusuke Wada
f254fdc846
feat(req): cache body content ( #1333 )
...
* feat(req): cache body content
* denoify
* use destruction
* denoify
2023-08-18 16:25:48 +09:00
Sor4chi
8ab0ccd7cc
docs: support change of escapeTextForBrowser path in react ( #1336 )
2023-08-16 07:39:35 +09:00
Yusuke Wada
b7f12ddbe9
Revert "refactor(utils/url): remove unnecessary code ( #1315 )"
...
This reverts commit ce4ac5a6f5
.
2023-08-10 16:39:28 +09:00
Yusuke Wada
ce4ac5a6f5
refactor(utils/url): remove unnecessary code ( #1315 )
...
* refactor(utils/url): remove unnecessary code
* denoify
2023-08-10 15:02:14 +09:00
Tim Fish
9be3b7b6dd
Add missing wasm mime type ( #1307 )
...
* Add missing wasm mime type
* deno dist
2023-08-09 21:45:07 +09:00
Yusuke Wada
85b54920f9
feat(parseBody): allow passing generics to parseBody()
( #1289 )
...
* feat(parseBody): allow passing generics to `parseBody()`
* denoify
2023-08-05 18:10:12 +09:00
Torsten Engelbrecht
35246d0de6
feat(middleware): Simple cookie signing functionality ( #1279 )
2023-08-05 17:19:08 +09:00
Yusuke Wada
e851e9bd82
perf(utils/url): use regexp instead of indexOf()
( #1276 )
...
* perf(utils/url): use regexp instead of `indexOf()`
* remove unused file
* denoify
2023-07-29 23:38:55 +09:00
Yusuke Wada
77b7ac7fe7
fix(utils/filepath): allow ..
in filename ( #1272 )
...
* fix(utils/filepath): allow `..` in filename
* denoify
* support `./foo../bar.txt`
* denoify
* add tests
---
Co-authored-by: Taku Amano <taku@taaas.jp>
2023-07-27 11:43:42 +09:00
Yusuke Wada
614ab9d6e4
fix(utils/filepath): don't allow dot segments ( #1271 )
2023-07-27 08:37:20 +09:00
Codinak
1495f8b41b
fix(jsx): escapeToBuffer vulnerability ( #1266 )
...
* fix escapeToBuffer vulnerability
Escape single quote (0x27) to limit execution capabilities under certain conditions.
* denoify
2023-07-26 23:12:25 +09:00
Yusuke Wada
cef0adb1d6
fix(mount): include query params ( #1224 )
...
* fix(mount): include query params
* denoify
2023-07-08 18:25:50 +09:00
Yusuke Wada
4b2dfb824b
fix(utils/cookie): allow 0 to maxAge ( #1196 )
...
* fix(utils/cookie): allow 0 to maxAge
* denoify
2023-06-23 17:33:20 +09:00
Yusuke Wada
e2b26d6074
fix(cookie): maxAge
should be positive ( #1194 )
...
* Allow setting cookie's maxAge to 0.
* fix(cookie): `maxAge` should be positive
* denoify
---------
Co-authored-by: David Manouchehri <david.manouchehri@ai.moda>
2023-06-22 22:37:07 +09:00
Kelly Littlepage
387d696303
fix: application/x-www-form-urlencoded decoding ( #1189 )
...
The current logic for decoding application/x-www-form-urlencoded is
overly restrictive and misses `Content-Type` headers with a character
encoding set, i.e., application/x-www-form-urlencoded; charset=UTF-8.
This fix harmonizes the logic for handling multipart/form-data
and application/x-www-form-urlencoded in the `parseBody` method of
request objects.
2023-06-21 22:51:59 +09:00
IGUCHI Kanahiro
a6b0833060
fix: avoid range-error ( #1168 )
...
* fix: avoid range-error
* fix: avoid range-error
* denoify
2023-06-07 21:54:49 +09:00
ayame113
81d271279c
feat: Allow context.jsonT
to take interface as an argument ( #1162 )
2023-06-06 10:23:09 +09:00
Taku Amano
8a1b9aa9a8
refactor: Tweaks variable names to reduce code. ( #1157 )
...
* refactor: Tweaks variable names to reduce code.
* Delete meaningless comments
* chore: denoify
2023-06-04 09:16:29 +09:00
Yusuke Wada
220c956272
Merge branch 'main' into next
2023-05-11 17:53:05 +09:00
Taku Amano
b15638c37c
fix(getQueryParam): Fixed a bug in getQueryParam when a partial matching key was found. ( #1085 )
...
* fix(getQueryParam): Fixed a bug in getQueryParam when a partial matching key was found.
* chore: denoify
2023-05-10 08:26:17 +09:00
Taku Amano
b253a8735b
feat: Allow getPath to be replaced. ( #1064 )
...
* feat: Allow getPath to be replaced.
* chore: denoify
2023-05-03 22:13:23 +09:00
Yusuke Wada
64ddf093d6
perf: use ===
instead of startsWith
and endsWith
( #1053 )
2023-04-30 21:18:32 +09:00
Yusuke Wada
0a19deaa5b
perf: shorten code ( #1051 )
2023-04-30 21:07:00 +09:00
Yusuke Wada
03df736763
feat(utils): remove HTTP status messages from http-status.ts
( #1037 )
...
* feat(utils): remove HTTP status messages from `http-status.ts`
* denoify
2023-04-28 12:10:20 +09:00
Yusuke Wada
e6669f7779
feat(jwt): support for getting payload from c.get('jwtPayload')
( #1025 )
2023-03-31 18:39:26 +09:00
Taku Amano
0560f27bde
fix(utils/url): Fix behavior when parameters with no value specified are mixed. ( #1023 )
...
* refactor(utils/url): Reduce a few characters.
* fix(utils/url): Fix behavior when parameters with no value specified are mixed.
* chore: denoify
2023-03-31 17:57:24 +09:00
Taku Amano
91c04ac073
refactor(utils/url): Decode parameters more accurately without performance degradation. ( #1015 )
...
* refactor(utils/url): Decode parameters more accurately without performance degradation.
* Add tests about getQueryParam and getQueryParams.
* chore(bench): add query param bench
* chore: denoify
2023-03-29 23:03:00 +09:00
Yusuke Wada
813984edca
denoify
2023-03-26 22:14:33 +09:00
Yusuke Wada
282e18596b
fix(app): don't remove slash form /
if strict is false ( #1004 )
...
* fix(app): don't remove slash form `/` if strict is `false`
* fixed test
* denoify
2023-03-20 23:30:41 +09:00
Kei Kamikawa
95602a18d7
feat: support issued_at
validation for JWT ( #1001 )
...
* added issued at validation
* yarn denoify
2023-03-20 23:29:32 +09:00
Yusuke Wada
309c38a69a
denoify
2023-03-19 18:19:01 +09:00
Yusuke Wada
0238dc6b91
feat(req): introduce c.req.path
( #988 )
...
* feat(req): introduce `c.req.path`
* denoify
* we don't have to handle fragments
* fixed the test
* denoify
2023-03-17 16:32:19 +09:00
Yusuke Wada
418941d01b
Merge branch 'main' into next
2023-03-13 22:00:00 +09:00
Yusuke Wada
948ca6a3b5
fix(route): support a root-level optional parameter ( #975 )
...
* fix(route): support a root level optional parameter
* denoify
2023-03-13 21:55:01 +09:00