0
0
mirror of https://github.com/honojs/hono.git synced 2024-11-24 11:07:29 +01:00
Commit Graph

34 Commits

Author SHA1 Message Date
Taku Amano
778ac10e84
feat: decode percent-encoded path in getPath (#2714)
* feat: decode percent-encoded path in `getPath`

* refactor: Stop decoding URIs in the `param()` method, since they are already decoded in `getPath()`

* test: add tests for decoding URI in path

* chore: denoify

* Revert "refactor: Stop decoding URIs in the `param()` method, since they are already decoded in `getPath()`"

This reverts commit 7192497e69.

* refactor: Replace "%25" before applying decodeURI() for avoid double decoding

Co-authored-by: Szymon Marczak <36894700+szmarczak@users.noreply.github.com>

* chore: denoify

* refactor(utils): check existence of "%25" before replacing it with "%2525"

Co-authored-by: Szymon Marczak <36894700+szmarczak@users.noreply.github.com>

* feat(utils/url): Changed URL decoding to skip invalid sequences and decode as much as possible

* chore: denoify

---------

Co-authored-by: Szymon Marczak <36894700+szmarczak@users.noreply.github.com>
2024-05-23 05:44:00 +09:00
Yusuke Wada
13039a9526
chore(benchmark): add "loop" script (#2431) 2024-03-28 10:59:49 +09:00
Yusuke Wada
e675d50046
perf(utils/url): use slice + indexOf for getPath() (#2376)
* perf(utils/url): use `slice` + `indexOf` for `getPath()`

* denoify
2024-03-18 17:40:23 +09:00
Yusuke Wada
ead3677601
chore: use Bun as a package manager (#2105)
* chore: use Bun as a package manager

* lock `np`
2024-01-29 23:27:54 +09:00
Taku Amano
ae0b01e544
chore(benchmarks/jsx): Update benchmark (#1768)
* chore(benchmarks/jsx): Update benchmark

* chore: Delete files that have been added by mistake
2023-12-03 22:03:55 +09:00
Yusuke Wada
d2b3a05741
chore(benchmark): add memoirist router (#1474) 2023-09-17 09:08:59 +09:00
Yusuke Wada
85f8ab663f
refactor(app): add "deprecate message" for app.handleEvent() (#1298)
* refactor(app): add "deprecate message" for `app.handleEvent()`

* denoify
2023-08-05 23:41:45 +09:00
Yusuke Wada
4a3c5834de
chore(benchmark): update the handle-event benchmark (#1297)
* chore(benchmark): update the handle-event benchmark

* denoify
2023-08-05 23:37:41 +09:00
Yusuke Wada
a14e65a6ca
chore(benchmark): add radix3 (#1167) 2023-06-06 14:16:26 +09:00
Taku Amano
1a1de75296 feat: Introduce LinearRouter. (#1043)
* feat: Introduce LinearRouter.

* chore: Add benchmark script.

* chore: denoify
2023-04-28 12:10:20 +09:00
Yusuke Wada
677b572fd5 feat: introduce PatternRouter and hono/tiny (#1036)
* wip

* Use RegExp instead of URLPattern. (#1039)

* Use RegExp instead of URLPattern.

* refactor(url-pattern-router): tidy up.

* refactor(url-pattern-router): Tweaks type for mangling.

* refactor: Rename URLPatternRouter to PatternRouter.

* chore: denoify.

---------

Co-authored-by: Taku Amano <taku@taaas.jp>
2023-04-28 12:10:20 +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
bd90ec5d2b
chore: update Deno benchmark (#880) 2023-02-11 06:43:07 +09:00
Yusuke Wada
8ade1cf525 chore: update the benchmark result 2023-02-11 06:19:23 +09:00
Yusuke Wada
d459084a89
chore: benchmark of routers (#843) 2023-01-29 14:10:47 +09:00
Yusuke Wada
5ac908f310 chore(benchmark): update iity-router (#775) 2023-01-19 22:44:38 +09:00
Yusuke Wada
fbd7ed7083 chore(benchmark): update benchmark scripts for Deno 2022-09-21 10:31:21 +09:00
Yusuke Wada
eb6601d24f chore: update handle-event bechmark scripts 2022-09-20 22:46:13 +09:00
Taku Amano
d12a11937b
feat: Lightweight RegExpRouter reborn (#519)
* Introduce RegExpLiteRouter.

* Replace RegExpRouter with RegExpLiteRouter.

* chore: denoify

* Remove old RegExpRouter and rename RegExpLiteRouter to RegExpRouter.

* chore: Update benchmarks/handle-event.
2022-09-14 08:01:14 +09:00
Taku Amano
85cbf3e984
perf(jsx): JSX performance improvement (#444)
* perf(jsx): Update benchmark for JSX.

* perf(utils/html): Improve `escape` performance.

Improved `escape` performance with reference to the react-dom implementation.

* refactor(utils/html): Subdivide HtmlEscapedString

* perf(jsx): Rewrite JSX with new `escapeToBuffer` and `JSXNode`.

* refactor(jsx): A function `jsx` returns `JSXNode` now.

* perf(html): Rewrite html middleware with new `escapeToBuffer`.

* Update tests for JSX.

* Update tests for utils/html.
2022-08-02 08:17:24 +09:00
Taku Amano
47b88f2f89
perf(jsx): Performance Tuning for JSX (#435)
* perf(jsx): Add benchmark scripts for JSX.

* perf(jsx): If included in emptyTag, return early.

* perf(jsx): Process props according to type.

* perf(jsx): Compare with React, Nano and Preact.
2022-07-31 21:58:59 +09:00
Yusuke Wada
eda96e70fb chore(benchmark): support for new version 2022-07-06 11:07:43 +09:00
Yusuke Wada
c65e811796
chore: add benchmark scripts for deno (#337) 2022-07-02 17:51:59 +09:00
Yusuke Wada
d54ff87c58 chore(benchmark): tweak, Hono is really fastest! 2022-06-02 15:10:57 +09:00
Yusuke Wada
548c12b5cd
chore(benchmark): polyfill Request and Response (#287)
* chore(benchmark): polyfill `Request` and `Response`

* polyfill
2022-06-01 05:48:20 +09:00
Yusuke Wada
c0661519b0 chore(benchmark): fix RegExpRouter score, it's fastest 2022-05-27 17:16:43 +09:00
Yusuke Wada
ebbb58dc81 chore: update benchmark script 2022-05-26 09:09:19 +09:00
Yusuke Wada
20c0345c93 chore: fixed benchmark 2022-05-13 08:55:13 +09:00
Yusuke Wada
c7d1d584df chore: ignore sandbox directory 2022-05-13 08:48:04 +09:00
Taku Amano
fb76c36ecc
chore: Fix typo. (#136) 2022-03-12 13:02:37 +09:00
Yusuke Wada
32686f4e5b
chore: update benchmark script (#120)
* chore: fix benchmark script

* update readme
2022-02-28 21:56:50 +09:00
Taku Amano
92513d0527
feat: RegExpRouter (#109)
* Make the Router abstract class.

* Introduce RegExpRouter.

* Add RegExpRouter to benchmark target.

* Optimize for special short routes.

```
* "*"
* "/path/to/*"
* "/path/to/*/content"
```

* Add assertion to `add` method.
2022-02-20 19:14:46 +09:00
Yusuke Wada
ff5a83b38b
perf: Speed up to calculate content-length (#67)
* perf: Speed up to calculate content-length
2022-01-27 09:09:54 +09:00
Yusuke Wada
336afc812d
refactor: refactor something (#65)
* chmod

* declare `parsedBody` in middleware

* Dont use any

* Rename

* rename and fixed benchmarks, update score
2022-01-26 22:11:11 +09:00