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

284 Commits

Author SHA1 Message Date
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
Yusuke Wada
7beb64956c feat: [BREAKING] introduce adapters (#807)
* feat: [BREAKING] introduce adapters

* added Next.js adapter

* denoify
2023-01-19 22:45:25 +09:00
Yusuke Wada
733f05c21c refactor(types): more robust and flexible (#806)
* chore: denoify

* v3.0.0-rc.5

* refactor(types): more robust and flexible

* fixed some
2023-01-19 22:45:25 +09:00
Yusuke Wada
d00a47ef70 feat: introduce HTTPException (#796)
* feat: introduce `HTTPException`

* denoify and fixed tests for Lagon
2023-01-19 22:45:25 +09:00
Yusuke Wada
e989a93d01 refactor: tweak types (#795) 2023-01-19 22:45:25 +09:00
Yusuke Wada
d2dd42b35e fix: fixed bugs handling TypeResponse (#791) 2023-01-19 22:45:25 +09:00
Taku Amano
9bc52a5ddd feat(reg-exp-router): regexp support path including slashes. (#789)
* feat(reg-exp-router): `regexp` support path including slashes.

* chore: denoify
2023-01-19 22:45:25 +09:00
Yusuke Wada
b723faa81f feat(trie-router): regexp support path including slashes (#768)
* feat(trie-router): `regexp` support path including slashes

* refactor(trie-router): Use `splitRoutingPath`. (#781)

* refactor(utils): splitRoutingPath, allow `@` to be safely used in parameter names. (#790)

Co-authored-by: Taku Amano <taku@taaas.jp>
2023-01-19 22:45:25 +09:00
Yusuke Wada
548487aa53 chore: denoify 2023-01-19 22:45:25 +09:00
Yusuke Wada
a50efe4fa9 perf(context): tune up handling headers 3% faster (#778)
* perf(context): tune up handling headers ~ 3% faster

* uppercase

* denoify
2023-01-19 22:44:38 +09:00
Yusuke Wada
b49e557e5b refactor(types): shorten name, make it safer (#774)
* refactor(types): shorten name, make it safer

* remove not used
2023-01-19 22:44:38 +09:00
Yusuke Wada
6bee574ca3 refactor(validator): show type error if get/head with form/json (#772) 2023-01-19 22:44:38 +09:00
Yusuke Wada
b567a574d6 refactor: form body should be Record<string, string | File> (#771)
* refactor: form body should be `Record<string, string | File>`

* refactored
2023-01-19 22:44:38 +09:00
Yusuke Wada
4422a0929c fix(validator): return message when Malformed JSON request body (#770) 2023-01-19 22:44:37 +09:00
Yusuke Wada
34514bc560 refactor(types): fix exporting and refactor (#767) 2023-01-19 22:44:37 +09:00
Yusuke Wada
e52e9ab463 fix(types): specify values of ValidationTypes (#766)
* fix(types): specify values of `ValidationTypes`

* export `ValidationTypes`
2023-01-19 22:44:37 +09:00
Yusuke Wada
6c55b629ec fix(types): fixed type structure (#764) 2023-01-19 22:44:37 +09:00
Yusuke Wada
d8abec9291 fix(jsonT): undefined if it is not object (#758)
* v3.0.0-0

* fix(jsonT): `undefined` if it is not object
2023-01-19 22:44:37 +09:00
Yusuke Wada
397c12e181 refactor: refactor and fix Types (#748)
* wip

* refactor: refactor and fix Types
2023-01-19 22:44:34 +09:00
Yusuke Wada
85e3c6a275 feat: new validator middleware using 3rd-party & current middleware obsolete (#745)
* feat: introduce HonoRequest with "wrapper pattern" (#733)

* feat: HonoRequest

* avoid `awaits`

* use `raw` instead of `original`

* feat: types for "RPC" support & build-in validator obsolete

* feat: introduce HonoRequest with "wrapper pattern" (#733)

* feat: HonoRequest

* avoid `awaits`

* use `raw` instead of `original`

* create generic middleare for 3rd-party validator

* indent

* support multiple validators and refactor

* remove unsed lines

* denoify
2023-01-19 22:40:13 +09:00
Yusuke Wada
a6d54dbff3 feat: introduce HonoRequest with "wrapper pattern" (#733)
* feat: HonoRequest

* avoid `awaits`

* use `raw` instead of `original`
2023-01-19 22:40:13 +09:00
Yusuke Wada
3e0f5dae31
fix: fixed type error for optional parameters (#814) 2023-01-18 09:25:37 +09:00
Yusuke Wada
da0a7ce55c
fix(context): enable destruction such json (#813)
This will fix #812
2023-01-18 08:23:58 +09:00
Yusuke Wada
4298f8266a
fix(cors): fix bugs handling pre-flight (#792) 2023-01-09 00:30:53 +09:00
Yusuke Wada
c6969533a7
chore: update license, contributors as the copyright holders (#769) 2023-01-02 19:18:59 +09:00
Yusuke Wada
90de083e1d chore: denoify 2022-12-30 10:01:46 +09:00
Tom Lienard
884b287f3d
feat: Lagon support with runtime detection & tests (#742)
* feat: Lagon support with runtime detection & tests

* ci: build before running test:lagon

* refactor: remove mentions of Lagon since it's still in dev

* test: enable ETag test
2022-12-25 01:42:59 +09:00
Yusuke Wada
4f772ddb44 docs(readme): fixed shields.io badage image url 2022-12-21 06:42:27 +09:00
Yusuke Wada
9a6e4c1802
perf(context): c.text() returns a response immediately if headers is empty (#722) 2022-12-14 22:03:02 +09:00
Yusuke Wada
d755ed50b5
fix(request): req.param() should return undefined not "undefined" (#721) 2022-12-14 01:07:07 +09:00
Yusuke Wada
c6b434addd refactor: shorten 2022-12-13 20:36:30 +09:00
Yusuke Wada
b1973d0c7f
fix(type): make SchemaToProp work correctly (#720) 2022-12-13 17:22:33 +09:00
Yusuke Wada
e6635e9997 chore: denoify 2022-12-12 22:10:14 +09:00
Yusuke Wada
fdea3b1cc6
fix(type): infer types correctly (#715) 2022-12-11 11:05:30 +09:00
Yusuke Wada
3def9b12c0
fix(type): fix the type mismatch if using Handler as middleware (#714)
* fix(type): fix the type mismatch if using `Handler` as middleware

* remove a line
2022-12-10 23:11:27 +09:00
Yusuke Wada
023d1738f0 chore: denoify 2022-12-10 17:16:04 +09:00
Yusuke Wada
59bb0b1a40
feat(handler): "schema" allow normal types (#700)
* feat(handler): "schema" allow normal types

* check types for handler+validator+handler pattern

* denoify

* improve type definitions
2022-12-10 16:37:14 +09:00
unworthyEnzyme
34231435a6
fix: cookie should return string | undefined (#709)
* `cookie` should return `string | undefined`

* update the tests
2022-12-10 01:09:18 +09:00
Yusuke Wada
a5b8b44793
fix(validator): enable checking undefined in rules (#708) 2022-12-08 21:45:54 +09:00
Taku Amano
6d5de04743
fix(reg-exp-router): bug of "star and all" routing (#707)
* fix(reg-exp-router): Comparisons between middleware must be checked in both orientations.

* refactor(reg-exp-router): Simplify the conditions.

* chore: denoify

* fix(reg-exp-router): Copy middleware if the method of new middleware is METHOD_NAME_ALL.

* chore: denoify
2022-12-08 20:11:08 +09:00
Yusuke Wada
cf73de1344
fix(trie-router): bug for routing orders with named param (#704) 2022-12-08 00:54:55 +09:00
Jayden
760ae30251
Fix detecting node runtime (#696)
* Fix

* Denoify

* Avoid error in other runtime

* chore: remove unnecessary config testPathIgnorePatterns (#697)

* Fix vercel

Co-authored-by: Horie Issei <issei.horie@is2ei.com>
2022-12-02 11:28:49 +09:00
Arnaud Dagnelies
9af95c886e
fix: Updated CORS (#693)
* Updated CORS

Do not call `next` for OPTIONS pre-flight requests to avoid side effects and more sensible defaults.

* restoring default cors headers

* restoring cors default allowed methods to avoid breaking change

* Deno dist stuff
2022-12-01 00:11:06 +09:00
Dario Piotrowicz
1f43164da5
Fix Validation of optional empty/undefined arrays (#690)
* * fix(validator): allow empty and undefined optional arrays

fix the bug of empty and undefined array causing a validation fail
when those are anyways optional

resolves #677

* denonify changes
2022-11-30 19:48:43 +09:00
Taku Amano
86699c1868
fix(reg-exp-router): Copy from METHOD_NAME_ALL for new methods (#691)
* fix(reg-exp-router): Copy from METHOD_NAME_ALL for new methods

* chore: denoify

* fix(reg-exp-router): Initialize both middleware and routes.

* chore: denoify

* fix(reg-exp-router):Fix middleware search routine.

* chore: denoify
2022-11-30 10:08:28 +09:00
Dario Piotrowicz
07efdb5103
fix(validator): fix subsequent nested objects names (#683)
* fix(validator): fix subsequent nested objects names

fix the bug of having subsequent objects inside a nested structure
causing the validator to forget the previous keys in the scheme's path

fixes point 1 of #677

* deonify changes
2022-11-29 22:02:20 +09:00
Taku Amano
e9a54bb8fc
fix(reg-exp-router): Allows registering a star after a long prefix. (#684)
* fix(reg-exp-router): Allows registering a star after a long prefix.

* fix(reg-exp-router): It now works even if a short GET is registered after a long ALL.

* chore: denoify
2022-11-28 22:20:40 +09:00
Yusuke Wada
9f7b5de9aa chore: denoify 2022-11-28 08:45:57 +09:00
Yusuke Wada
8fcc9e6e3b chore: donoify 2022-11-26 15:59:50 +09:00
Yusuke Wada
a3e0eb2cc1
refactor(context): refactor context.ts (#674) 2022-11-23 18:42:24 +09:00