0
0
mirror of https://github.com/honojs/hono.git synced 2024-12-01 10:51:01 +00:00
Commit Graph

333 Commits

Author SHA1 Message Date
Taku Amano
ac7eeda87f
fix(context): Fix typo in charset. (#1046) 2023-04-28 12:06:23 +09:00
Yusuke Wada
ea7ece39eb docs(readme): fixed readme for Deno 2023-04-17 08:51:53 +09:00
Yusuke Wada
e6669f7779
feat(jwt): support for getting payload from c.get('jwtPayload') (#1025) 2023-03-31 18:39:26 +09:00
Yusuke Wada
c503436276
feat(deno): denoify (#1024) 2023-03-31 18:17:45 +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
Taku Amano
c0af3d0726
feat: Enable to add subApp with basePath. (#998)
* feat: Enable to add subApp with basePath.

* chore: denoify.
2023-03-19 12:39:07 +09:00
Yusuke Wada
e0cead6100
fix(context): fixed a bug for c.header() with a append option (#997)
* fix(context): fixed a bug for `c.header()` with a `append` option

* denoify
2023-03-19 12:08:17 +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
cadb6eab41
feat(validator): query supports array params (#984)
* feat(validator): `query` supports array params

* denoify
2023-03-16 21:49:28 +09:00
Taku Amano
287498bdec
feat(validator): Allow validator to apply validation to path param. (#982)
* Allow validator to apply validation to path param.

* chore: denoify

* feat(validator): Enable passing the path to ValidationFunction as a template parameter.

* chore: denoify

Co-authored-by: yusukebe <yusuke@kamawada.com>
2023-03-15 22:20:50 +09:00
Yusuke Wada
e2a174b8ac
fix(types): infer types correctly (#983)
* v3.1.0-rc.2

* fix(types): infer path param types correctly

* denoify

* fix: infer the value type in the validation funtion

* denoify
2023-03-14 23:43:33 +09:00
Yusuke Wada
014acdc081
fix(client): removeIndexString supports /sub/index (#978)
* fix(client): `removeIndexString` supports `/sub/index`

* denoify
2023-03-13 22:37:17 +09:00
Yusuke Wada
3bb918b27c
fix(types): make MergePath<'/api', '/'> work well (#971)
* fix(types): make `MergePath<'/api', '/'>` work well

* denoify and remove some lines
2023-03-13 22:21:03 +09:00
Yusuke Wada
ea7a1b2d95
refactor: remove lint warnings (#976) 2023-03-13 22:08:16 +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
Yusuke Wada
5cb8bf12fd Merge branch 'main' into next 2023-03-13 09:54:55 +09:00
Yusuke Wada
4414e63246
fix(etag): returns correct headers (#973)
* fix(etag): returns correct headers

* denoify

* `Etag` to `ETag`
2023-03-13 09:48:44 +09:00
Yusuke Wada
9c4197a772
feat(validator): support type transformation (#969)
* feat(validator): support type transformation

* denoify

* create `ValidationFunction` and add a test

* denoify

* rename

* denoify
2023-03-11 22:17:08 +09:00
Yusuke Wada
7548eaa0f6
feat(context): allow passing RequestInit to c.json() etc. (#959)
* feat(context): allow passing `RequestInit` to `c.json()` etc.

* denoify

resolve #952
2023-03-09 23:54:47 +09:00
Yusuke Wada
95f6470d5b
fix(type): add forgotten BasePath (#967)
* fix(type): add forgotten `BasePath`

* denoify
2023-03-09 10:52:22 +09:00
Taku Amano
55baf9d2d3
feat: route() with one argument is renamed basePath(). (#964)
* feat: `route()` with one argument is renamed `basePath()`.

* chore: denoify.

* refactor: Use `private` instead of hard private fields.

* refactor: The `route()` with one argument has reverted and deprecated.

* chore: denoify
2023-03-09 09:41:11 +09:00
Yusuke Wada
ad880dba43
feat: env support enviroment variables for multi runtimes (#949)
* feat: `env` support enviroment variables for multi runtimes

* typo

* denoify

* fixed ci settings

* fixed deno command

* comment out lagon test

* remove warnings
2023-03-06 21:12:22 +09:00
Yusuke Wada
b8c92e42ed Merge branch 'main' into next 2023-03-06 20:42:43 +09:00
Yusuke Wada
fea78f29bd
docs(readme): add creator name of RegExpRouter and SmartRouter (#956)
* docs(readme): add creator name of RegExpRouter and SmartRouter

* denoify
2023-03-06 20:42:05 +09:00
Yusuke Wada
c996f2d542 denoify 2023-03-05 23:40:14 +09:00
Yusuke Wada
4fb8151663
feat(context): allow passing unknown to executionCtx.waitUntil (#957)
* feat(context): allow passing `Promise<unknown>` to `executionCtx.waitUntil`

* denoify
2023-03-05 23:37:02 +09:00
Yusuke Wada
cd1d4530a3 docs(readme): denoify
[skip ci]
2023-03-02 21:52:25 +09:00
Yusuke Wada
46c233e463
fix(client): show type error if $get() needs args (#937)
* fix(client): show type error if `$get()` needs args

* denoify
2023-03-02 21:40:53 +09:00
Yusuke Wada
b1c5059708
feat(jsonT): check JSON type (#939)
* feat(`jsonT`): check JSON type

* denoify

* use `JSONValue`

* create `TrueAndFalseToBoolean` and add a comment
2023-03-02 08:56:13 +09:00
tangye
73860a1595
fix: let the app.request behave the same as fetch (#933)
* fix: let the app.request behave the same as fetch

* fix: add deno dist files

---------

Co-authored-by: 唐烨 <tangye@xinpianchang.com>
2023-02-27 20:01:04 +09:00
Yusuke Wada
7ba91208b9
fix: add missing MergePath (#936)
* fix: add missing `MergePath`

* denoify
2023-02-27 19:10:16 +09:00
Taku Amano
b0501e03cd
feat: Improve route() (#929)
* feat: return a sub app cloning itself from route()

* feat: Add extra type parameter BasePath.

* refactor: The type of hono.basePath may simply be a string.

* refactor: first argument of route is required, default value is not required

* chore: denoify
2023-02-27 18:38:27 +09:00
Yusuke Wada
e035e289ee
feat(deno): export HonoRequest type in Deno (#927) 2023-02-25 02:48:18 +09:00
Yusuke Wada
b788fe619f
fix(validator): clone Request object if json or form (#926) 2023-02-25 02:36:11 +09:00
Yusuke Wada
b9227b890c
refactor(util): remove using Buffer from encode.ts (#925) 2023-02-25 01:53:18 +09:00
Yusuke Wada
b3868d1075
fix(types): app.route with multiple endpoints returns types correctly (#919)
* fix(types): `app.route` with multiple endpoints returns types correctly

* fix `OnHandlerInterface` patterns too.

* denoify

* fix type mismatch of Env

* remove unnecessary assert
2023-02-24 09:07:25 +09:00
hagishi
14ed9f7368
feat: allow pathname argument (#921)
* feat: allow pathname argument

* fix: add control input argument

* denoify
2023-02-23 23:41:50 +09:00
Jonas Hiltl
17755d8167
feat: Custom fetch method for Hono Client options (#920)
* Allow setting custom fetch method for hono client

* Run yarn denoify
2023-02-23 16:26:25 +09:00
Yusuke Wada
4c4bf2b85e docs(readme): add "quick start" 2023-02-23 05:49:16 +09:00
Yusuke Wada
2c5b9891bd
feat(types): keep schema info with app.route() (#909) 2023-02-20 08:56:29 +09:00
hagishi
7ffb5b547e
feat(client): Inject common headers (#908)
* feat(client): Inject common headers

* feat: Accept a RequestOptions object as argument.

* refactor: Rename RequestOption to RequestOptions

* denoify
2023-02-20 08:22:01 +09:00
Yusuke Wada
02e3786016
docs(readme): update for v3 (#902)
* docs(readme): update for v3

* denoify
2023-02-18 08:27:54 +09:00
Yusuke Wada
c98f71610a
fix(jsx): declare types for JSX correctly (#901) 2023-02-18 06:50:52 +09:00
Yusuke Wada
6d8bd62d23
chore: honojs.dev to hono.dev (#900) 2023-02-16 23:18:34 +09:00
Yusuke Wada
d4e3728881 chore: denoify 2023-02-16 18:08:50 +09:00
Yusuke Wada
79759a81ed
feat(client): introduce Fetch type (#898)
* feat(client): introduce `Fetch` type

* denoify
2023-02-16 16:12:21 +09:00
Yusuke Wada
94df5fce68 feat(hc): add InferRequestType (#894)
* feat(hc): add `InferRequestType`

* denoify
2023-02-15 08:47:40 +09:00
Yusuke Wada
05ee837f78
feat: change the arg InferResponseType receives (#893)
* feat: change the arg `InferResponseType` receives

* denoify
2023-02-15 07:05:39 +09:00
Yusuke Wada
733854f6cb
docs(readme): add bundlephobia badges (#891) 2023-02-14 22:50:58 +09:00
Yusuke Wada
68cbbbcde7
refactor: rename ValidationTypes to ValidationTargets (#890)
* refactor: rename `ValidationTypes` to `ValidationTargets`

* denoify
2023-02-14 06:21:30 +09:00
Yusuke Wada
5b29d4235e
refactor: rename to TypedResponse (#889)
* refactor: rename to `TypedResponse`

* denoify
2023-02-13 21:57:12 +09:00
Yusuke Wada
60c0903a1c
fix(req): query return type as string | undefined (#888)
* fix(req): return type as `string | undefined`

* denoify
2023-02-13 21:40:51 +09:00
Yusuke Wada
0b2ac1678e Merge branch 'main' into next 2023-02-13 06:47:05 +09:00
Alex Errant
d2abad3b34
header may return undefined (#884)
* header may return undefined

* fixed broken tests

* yarn denoify

* update CONTRIBUTING
2023-02-13 06:30:57 +09:00
Yusuke Wada
e0059916e9
fix(deno): allow {} for app.fetch fo compatibility (#887) 2023-02-12 16:46:47 +09:00
Yusuke Wada
23b05425da fix(deno): export deno adapter (#886) 2023-02-12 16:35:22 +09:00
Yusuke Wada
39e855f0a4
feat: move http-exception out of utils (#883) 2023-02-11 18:05:50 +09:00
Yusuke Wada
ff7b225620
feat(app): support multiple methods with app.on() (#882)
* feat(`app`): support multiple methods with `app.on()`

* use `flat()`

* denoify
2023-02-11 16:20:11 +09:00
Yusuke Wada
17af727d49
feat(validator): moved validator outside of middleware (#879) 2023-02-11 01:18:27 +09:00
Yusuke Wada
6f729895a7 merge main into next 2023-02-09 19:49:27 +09:00
Yusuke Wada
3f1de47f8f chore(denoify): update buffer 2023-02-09 18:24:14 +09:00
Taku Amano
c169a413bd
feat: use added app's errorHandler with comose() (#874)
* refactor(compose): Swapped the order of onNotFound and onError in the compose() argument.

* feat: use added app's errorHandler

* chore: denoify
2023-02-09 18:13:27 +09:00
Yusuke Wada
9391278911
feat(router) [breaking]: StaticRouter obsolete (#873)
Co-authored-by: Taku Amano <taku@taaas.jp>
2023-02-09 16:58:28 +09:00
Taku Amano
dfd4f81e79
feat: Remove the StaticRouter from default candidates. (#869)
* feat: Remove the StaticRouter from default candidates.

* chore: denoify
2023-02-08 23:19:02 +09:00
Yusuke Wada
229228a7ba
Revert "feat: use added app's errorHandler (#871)" (#872)
This reverts commit b8a99b5367.
2023-02-08 23:08:52 +09:00
Taku Amano
b8a99b5367
feat: use added app's errorHandler (#871)
Fix #851


* feat: use added app's errorHandler

* chore: denoify

* refactor(compose): Swapped the order of onNotFound and onError in the compose() argument.

* chore: denoify
2023-02-08 22:01:30 +09:00
Yusuke Wada
c0d2e608a6
feat: hc - Hono Client (#862) 2023-02-08 07:22:32 +09:00
Taku Amano
d86728b4d1
perf(reg-exp-router): Cache Result<T> instead of T[] if there is no parameter. (#867)
* perf(reg-exp-router): Cache Result<T> instead of T[] if there is no parameter.

* chore: denoify
2023-02-08 06:47:19 +09:00
Yusuke Wada
2828e59a6c Merge branch 'main' into next 2023-02-06 07:09:03 +09:00
Yusuke Wada
1a4c2fed78
chore: denoify (#865) 2023-02-06 07:01:51 +09:00
Yusuke Wada
41ba3a2193 Revert "perf(context): improve handling response (#860)"
This reverts commit ce0a8bd16d.
2023-02-05 02:53:10 +09:00
Yusuke Wada
dd4122a5e0
refactor: obsolute CustomHandler (#861) 2023-02-03 05:56:59 +09:00
Yusuke Wada
ce0a8bd16d
perf(context): improve handling response (#860) 2023-02-02 08:08:07 +09:00
Yusuke Wada
a4800bf941
fix(req): never if c.req.valid() (#859) 2023-02-02 08:06:19 +09:00
Yusuke Wada
aefe3869d0 chore: denoify 2023-02-02 00:25:58 +09:00
Yusuke Wada
fbf8959b74
fix(breaking): obsolete no args c.req.valid() (#856)
* v3.0.0-rc.9

* fix(breaking): obsolete no args `c.req.valid()`

* more strict
2023-02-01 22:02:09 +09:00
Yusuke Wada
e2b269acb0
feat: rewnew output types (#853)
* feat: rewnew output types

* denoify

* refactor: move type definitions of middlware handler to `types.ts`

* format comment block

* add more tests
2023-02-01 06:36:48 +09:00
Jayden
53de4a4021
Rename runtime keys (#850)
* Rename runtime keys

* denoify

* Fix test
2023-01-29 14:47:35 +09:00
Taku Amano
01b9fd4537
feat(reg-exp-router): Lookup static path by using Object (#845)
* feat(reg-exp-router): Search by key of Object if `path` has no variables.

* feat(reg-exp-router): Returns an empty RegExp if node is not added.

* feat(reg-exp-router): Check ambiguous path for static.

* chore: fix typo in test case

* chore: denoify
2023-01-29 13:55:27 +09:00
Yusuke Wada
0c76049487 Merge branch 'main' into next 2023-01-24 09:00:29 +09:00
Yusuke Wada
4f9d7f2d7e
fix(context): fixed bug raw Response content-type is overwritten (#836) 2023-01-24 08:53:31 +09:00
Yusuke Wada
a53ae499d3 Merge branch 'main' into next 2023-01-23 08:40:17 +09:00
Yusuke Wada
033f23189c
fix(context): set the values of already set (#834) 2023-01-23 08:35:14 +09:00
Yusuke Wada
2afa06a5ba
feat(req): support c.req.valid('query') (#832) 2023-01-23 07:47:29 +09:00
Yusuke Wada
2de2ef3279
feat(validator): support multiple handlers w/ complex patterns. (#831) 2023-01-22 21:21:37 +09:00
Yusuke Wada
2ee0f739f5
fix(bun): fixed throwing the error in HTTPException (#830) 2023-01-22 15:06:55 +09:00
Yusuke Wada
698a783573 Merge branch 'main' into next 2023-01-22 14:28:13 +09:00
Yusuke Wada
e404319824
perf: use substring and //.test ... (#829)
* v3.0.0-rc.8

* perf: use `substring` and `//.test` ...
2023-01-22 13:59:31 +09:00
Yusuke Wada
a60e46ae53
fix(request): make optional param type correct (#826)
* fix(request): make optional param type correct

* `ts-ignore`

* `denoify`
2023-01-22 13:32:33 +09:00
Yusuke Wada
fd4f18f6cc chore: denoify 2023-01-19 22:45:25 +09:00
Yusuke Wada
49ffd51153 refactor(utils): remove minor mime types (#816) 2023-01-19 22:45:25 +09:00
Yusuke Wada
9958019d13 refactor: remove the json util not needed (#815) 2023-01-19 22:45:25 +09:00
Yusuke Wada
b6b1e5bc79 fix(context): enable destruction such json (#813)
This will fix #812
2023-01-19 22:45:25 +09:00
Yusuke Wada
eb6f1fdb0d perf: optimize parsing queries and headers / 19% faster than 2.7.2 (#811) 2023-01-19 22:45:25 +09:00