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

69 Commits

Author SHA1 Message Date
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
39e855f0a4
feat: move http-exception out of utils (#883) 2023-02-11 18:05:50 +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
Yusuke Wada
dd4122a5e0
refactor: obsolute CustomHandler (#861) 2023-02-03 05:56:59 +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
Jayden
53de4a4021
Rename runtime keys (#850)
* Rename runtime keys

* denoify

* Fix test
2023-01-29 14:47:35 +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
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
eb6f1fdb0d perf: optimize parsing queries and headers / 19% faster than 2.7.2 (#811) 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
Yusuke Wada
548487aa53 chore: denoify 2023-01-19 22:45:25 +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
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
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
4f772ddb44 docs(readme): fixed shields.io badage image url 2022-12-21 06:42:27 +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
Yusuke Wada
8fcc9e6e3b chore: donoify 2022-11-26 15:59:50 +09:00
Yusuke Wada
1eb49b8d96
refactor: support new @cloudflare/worker-types (#673)
* refactor: support new `@cloudflare/worker-types`

* do not attach crypto to global

* denoify ignore serve-static for cloudlfare

* ignore the utility for cloudflare

* import types
2022-11-23 07:27:42 +09:00
Yusuke Wada
1674bbba32 chore(denoify): update Buffer 2022-11-17 15:11:36 +09:00
Jayden
06cecbd1e2
fix(param): Decode context.param (#662)
* Decode url param

* Denoify
2022-11-14 09:10:03 +09:00
Yusuke Wada
d3a6f80d7c
fix(type): change the type definition of req in Context (#658) 2022-11-11 15:23:05 +09:00
Yusuke Wada
edfb31ee94
fix(error): make notFound() enables to catch errors correctly (#652) 2022-11-05 19:02:19 +09:00
Yusuke Wada
ca52dd898e
fix(build): fix ESM support in Node.js / use esbuild (#631)
* fix(build): fix ESM support in Node.js / use `esbuild`

* add tsx

* denoify ignore
2022-10-28 08:46:02 +09:00
Yusuke Wada
8627010094
refactor(types): refactor and add tests for checking Types (#615)
* refactor(types): refactor and add tests for checking Types

* remove unused

* uncomment

* use `Handler` in validator middleware

* remove unused

* create `src/validator` dir and move some files into it

* add the case that the context is in `validator`

* rename `D` to `S`
2022-10-23 08:10:00 +09:00
Yusuke Wada
33f1cbd604 chore: denoify 2022-10-19 20:01:43 +09:00
Yusuke Wada
0da78351e9
feat(validator): has the error message per rule (#603)
* feat(validator): has the error message per rule

* add test for checking result objects

* test(validator): add array results test (#609)

* remove `console.log`

Co-authored-by: Derrick Farris <mr.dcfarris@gmail.com>
2022-10-19 19:17:04 +09:00
Yusuke Wada
2776957bba
feat(validator): introduce nested validation (#592)
* feat(validator): introduce `v.array()` and `v.object` for nested validation

* copy objects

* remove unnecessary tests

* fix(object): make merge immutable to fix issues with missing fields (#598)

Co-authored-by: Derrick Farris <mr.dcfarris@gmail.com>
2022-10-13 06:48:59 +09:00
Yusuke Wada
f5fc9103f1 chore: denoify 2022-10-09 23:33:00 +09:00
Derrick Farris
9a0389e723
feat(validator): add support for JSON array path validation (#563)
* refactor(JSONPath): improve typing of JSONPath

* chore(vscode-settings): add deno.enable=false

* fix(validator): add null to type Type def

* feat(JSON-Path): add support for array JSONPath-Plus syntax

* fix(validator): update isRequired to pass valid bool types

* test: update tests for isRequired validator

* feat(validator): add support for JSON array path validation

* chore(deno): denoify array support changes

* fix(validator): type check all vals in array

* chore(deno): denoify changes

* test(validator): add tests for array type checking

* fix(validator): change JSONPrimative to JSONPrimitive

* refactor(json): More compatible with https://jsonpath.com/.

* implementation of `asArray`

* fix(validator): update JSONPath implementation and add isArray check in validation

* fix(validator): fix typing errors on SchemaToProp

* Revert "fix(validator): fix typing errors on SchemaToProp"

This reverts commit b8ddef85d0.

* fix(validator): fix SchemaToProp error for VTypeArrays

* chore(deno): denoify

Co-authored-by: Taku Amano <taku@taaas.jp>
Co-authored-by: Yusuke Wada <yusuke@kamawada.com>
2022-09-30 21:56:39 +09:00
Yusuke Wada
e5b0ea8d33 chore: denoify 2022-09-30 19:50:59 +09:00
Yusuke Wada
e4c8a6f467
perf: remove async from dispatch; will be 16% faster (#550) 2022-09-26 21:12:53 +09:00
Yusuke Wada
976b2c310e
feat: c.req.body and c.req.json accept generics (#529) 2022-09-20 22:01:03 +09:00
Yusuke Wada
5133a93925
feat: support appending values with c.header (#539) 2022-09-20 21:41:45 +09:00
Yusuke Wada
24c17e340a feat(trie-router): support optional parameter (#540) 2022-09-20 21:26:27 +09:00
Yusuke Wada
730453aeb0
fix(redirect): don't have to make relative url to absolute one (#541)
* fix(redirect): don't have to make relative url to absolute one

* remove `isAbsoluteURL`
2022-09-20 18:56:31 +09:00
Yusuke Wada
a2cc1a01c2
feat: another idea of Validator Middleware (#535)
* feat: Another idea of validator middleware

* denoify

* set property value in constructor

* rename `option` to `options`

* add test for handling type error

* use `test` instead of `match`
2022-09-20 10:11:34 +09:00
Taku Amano
bbb95585d4
Check in Origin header instead of Referer (#532)
* refactor(cors): Check in Origin header instead of Referer.

* refactor(utils/url): Remove unused function getDomainFromURL.

* chore: denoify
2022-09-16 07:23:31 +09:00
Yusuke Wada
df64870f54
feat(cors): allow multiple origins (#531)
* feat(validator): add `isBoolean` and `isNumber`

* feat(cors): allow multiple origins

Close #503
2022-09-16 00:19:02 +09:00
Yusuke Wada
b546fd6984 refactor: update buffer version on Deno 2022-09-14 08:44:42 +09:00
Yusuke Wada
46c6a8de5e
feat(middleware): introduce "built-in" Validator Middleware (#505)
* feat(middleware): introduce built-in Validator Middleware

* fixed type of `req.json()`

* Feat/builtin validator middleware another idea (#508)

* Enable overwriting of query/header data.

* Returns only verified data.

* rename `index.test.ts` to `middleware.test.ts`

* add `removeAdditional` option

* handling error that the JSON body is null

* tidy

* check is it string or not

* implement `isIn`

* enable validation the valies are duplicate

Co-authored-by: Taku Amano <taku@taaas.jp>
2022-09-13 07:54:06 +09:00
Yusuke Wada
b6954815cb
perf(req): improve c.req.query performance (#498)
* perf(req): improve `c.req.query` performance

* allow fragments as query strings
2022-09-05 19:08:10 +09:00