0
0
mirror of https://github.com/honojs/hono.git synced 2024-11-28 17:22:54 +01:00
Commit Graph

534 Commits

Author SHA1 Message Date
Shotaro Nakamura
71cdcf40d8
feat: Introduce IP Restriction Middleware (#2813)
* feat: Introduce IP Limit Middleware

* chore(jsr): add return types

* chore: format code

* fix: eslint

* feat: if allow is empty, set allow at * by default (#3)

* feat: if allow is empty, set allow at * by default

* fix

* feat: remove wildcard

* chore: fix spelling

* chore: format

* chore: sort imports

* fix: test

* chore: sort imports

* feat: renamed `ipLimit` to `ipRestriction`

* feat: accept `(c: Context) => string)`

* chore: format code

* feat: allow/deny -> allowList/denyList

* feat: suport function rule

* chore: format code

* fix: test code

* feat: suport custom errors

* fix: test code

* fix: name in test code

* feat: allow function to named function

* perf(ip-restriction): optimize ip-restriction middleware by prepare matcher function in advance

* feat: don't use random ip in test

* chore: ipVn to ipvn

* fix: test code

* fix: fix type error in ip-restriction middleware test

* chore: rename `IPRestrictRule` to `IPRestrictionRule`

* docs(ip-restriction): add a comment to explain the normalization of IPv6 address

* docs(ip-restriction): fix typo in comment

* refactor(ip-restriction): rename convertIPv6ToString to convertIPv6BinaryToString

* feat: support to receive `Context` in `onError`

* fix: https://github.com/honojs/hono/pull/2813#discussion_r1667327721

* fix: format code

* feat: use `Forbidden`

* tracking the `next`

* remove importing `HonoRequest`

---------

Co-authored-by: Ame_x <121654029+EdamAme-x@users.noreply.github.com>
Co-authored-by: Taku Amano <taku@taaas.jp>
Co-authored-by: Yusuke Wada <yusuke@kamawada.com>
2024-07-08 23:26:01 +09:00
Yusuke Wada
58f421fa27 Merge branch 'main' into next 2024-07-08 22:10:10 +09:00
Shotaro Nakamura
97ec6521a7
chore: replace tsx with Bun (#3103) 2024-07-07 15:55:19 +09:00
Yusuke Wada
cff2768de0 v4.4.12 2024-07-06 16:13:29 +09:00
Yusuke Wada
75c314c279 v4.4.11 2024-07-03 10:53:44 +09:00
Yusuke Wada
c095dfac4e v4.4.10 2024-06-30 07:55:36 +09:00
Yusuke Wada
f2908d62fb v4.5.0-rc.2 2024-06-29 17:39:50 +09:00
Yusuke Wada
ebbaea982c Merge branch 'main' into next 2024-06-29 17:13:45 +09:00
Taku Amano
2d3bc55954
fix(streaming): call stream.abort() explicitly when request is aborted (#3042)
* feat(utils/stream): enable to abort streaming manually

* feat(utils/stream): prevent multiple aborts, and enable to get the abort status

* fix(streaming): call `stream.abort()` explicitly when request is aborted

* test: add tests for streaming

* docs(stream): add comments

* test: add --allow-net to deno test command in ci.yml

* test(streaming): update test code

* test(stream): retry flaky test up to 3 times at "bun"

* test(streaming): refactor test to use afterEach

* fix(streaming): in bun, `c` is destroyed when the request is returned, so hold it until the end of streaming

* refactor(streaming): tweaks code layout
2024-06-29 07:00:28 +09:00
Yusuke Wada
5201c9fe31 Merge branch 'main' into next 2024-06-27 21:59:59 +09:00
Yusuke Wada
2ba805ca28 v4.4.9 2024-06-27 18:22:44 +09:00
Yusuke Wada
0a4621f737
docs: update the description of package.json and README (#3052) 2024-06-27 17:13:29 +09:00
Yusuke Wada
42436bf799 Merge branch 'main' into next 2024-06-27 10:09:56 +09:00
Yusuke Wada
d21f8eb27a v4.4.8 2024-06-25 06:24:12 +09:00
Yusuke Wada
7ee829be6b v4.4.7 2024-06-19 15:24:23 +09:00
Yusuke Wada
614dff06ba v4.4.6 2024-06-14 07:08:43 +09:00
Yusuke Wada
61d50f6fe9 v4.5.0-rc.1 2024-06-12 12:17:46 +09:00
Taku Amano
c910923aea
feat(jsx/server): introduce jsx/dom/server module for compatibility with react-dom/server (#2930)
* feat(jsx/server): introduce `jsx/dom/server` module for compatibility with `react-dom/server`

* refactor: tweaks signature of onError callback in renderToReadableStream for compatibility

* Add jsx/dom/server to jsr.json

* fix: relative import path error in `deno publish`
2024-06-12 11:59:51 +09:00
Yusuke Wada
75663ff162 v4.4.5 2024-06-11 10:22:18 +09:00
Yusuke Wada
fe7cfcf719 v4.4.4 2024-06-06 23:01:46 +09:00
Yusuke Wada
6a5c649dce v4.4.3 2024-06-03 20:48:41 +09:00
Yusuke Wada
786f9e2a9d
test(workerd): add tests for WebSocket (#2891) 2024-06-03 00:14:11 +09:00
Yusuke Wada
f634c82451
test(workerd): rename the runtime test wrangler to workerd (#2888)
* test(workerd): rename the runtime test `wrangler` to `workerd`

* fixed ci.yml

* fixed a typo

* use node 20.x
2024-06-02 22:49:40 +09:00
Yusuke Wada
0c89700f55 v4.4.2 2024-05-31 08:14:26 +09:00
Yusuke Wada
c8beddb7c7 v4.4.1 2024-05-31 08:02:07 +09:00
odri
366f760a30
fix(client): allow multiple files on the same key in form (#2791)
* fix(client): allow multiple files on the same key in form

* add tests and update `msw`

* fixed import order

Co-authored-by: Yusuke Wada <yusuke@kamawada.com>
2024-05-28 18:39:01 +09:00
Yusuke Wada
03090608db v4.4.0 2024-05-27 16:49:02 +09:00
Taku Amano
593cb7a89d
feat(jsx/dom): introduce react-dom/client APIs and React.version (#2795)
* feat(jsx): export version string from jsx

* feat(jsx/dom): introduce react-dom/client APIs

* docs(jsx/dom/client): add module description

* chore: add jsx/dom/client to jsr.json

* refactor(jsx/dom): declare types explicitly.
2024-05-26 22:55:30 +09:00
Yusuke Wada
cc4b2b3c7f
chore(lint): update eslint rules (#2790)
* chore(lint): update eslint rules

* fix formats
2024-05-26 05:17:45 +09:00
Yusuke Wada
179d21b6d2 v4.4.0-rc.1 2024-05-25 10:27:50 +09:00
Yusuke Wada
1b2a4c0800
feat(jsr): support JSR (#2662)
* feat(jsr): reduce slow types (#2369)

* feat(jsr): reduce slow types

* fix: use allow function

* chore: format code

* chore: denoify

* add `deno.json`

* add `jsr-dry-run` command for CI

* don't put `JSX` on `global`

* fix test settings for deno

* don't use `dynamicClass`

* don't declare `ExecutionContext` in `global`

* goodbye denoify

* exports `./middleware`

* exports `./helper`

* exports each helper and middleware

* remove the `awslambda` implementation which is not enough

* feat(jsr): remove helper.ts and middleware.ts (#2667)

* feat(jsr): remove helper.ts and middleware.ts

* fix: fix test

* dont' use `SuperClass`

Co-authored-by: Taku Amano <taku@taaas.jp>

* feat(jsr): delete `mod.ts` (#2669)

* rename `deno.json` to `jsr.json`

* lint

* remove slow type in lambda adapter

* fixed runtime test for deno

* export all utils

* add a GitHub action to publish the package to JSR

* fixed declaring `ContextVariableMap`

* fixed the type error

* include `jsr.json` in `jsr.json`

* update `jsr.json`

---------

Co-authored-by: Shotaro Nakamura <79000684+nakasyou@users.noreply.github.com>
Co-authored-by: Taku Amano <taku@taaas.jp>
2024-05-24 17:47:28 +09:00
Yusuke Wada
317b3d5534 v4.3.11 2024-05-24 17:33:21 +09:00
Yusuke Wada
a9d1e2c694 v4.3.10 2024-05-24 17:33:21 +09:00
Yusuke Wada
ab7144871b
refactor(cloudflare-workers): remove @cloudflare/workers-types (#2773)
* refactor(cloudflare-workers): remove `@cloudflare/workers-types`

* add `@denoify-ignore`

* add missing comment
2024-05-24 06:01:12 +09:00
watany
8cb59e400f
feat(middleware): Introduce Timeout Middleware (#2615)
* 0.1

* v0.2

* 1.0

* multi runtime

* adding duration

* fix

* interface

* fix

* only input number

* return a named function

* setting exception

* simply

* rename type

* adding typesVersions

* typo

* add JSDoc

* denoify
2024-05-23 05:40:09 +09:00
Shotaro Nakamura
a8a5fb97ca
feat: Introduce ConnInfo helper/adapter (#2595)
* feat: Introduce ConnInfo helper/adapter

* chore: format code

* chore: run ESLint and add `// @denoify-ignore`

* chore: denoify

* feat: export conninfo types

* fix: fix test

* feat(conninfo/bun): support that env be {server: server}

* chore: eslint

* chore: `lint:fix`

* fix(conninfo/bun): English syntax for error message

* fix: don't use singleQuote in string
2024-05-23 05:39:18 +09:00
Yusuke Wada
75a7a09fc5 v4.3.9 2024-05-21 09:02:58 +09:00
Yusuke Wada
7f309ecb9d v4.3.8 2024-05-19 20:02:16 +09:00
Yusuke Wada
753fcb4231 v4.3.7 2024-05-15 22:10:40 +09:00
Yusuke Wada
d0034c6948 v4.3.6 2024-05-13 07:55:57 +09:00
Yusuke Wada
f3f6f029a6 v4.3.5 2024-05-12 16:19:07 +09:00
Yusuke Wada
dd52c56736 v4.3.4 2024-05-09 22:51:04 +09:00
Yusuke Wada
6e471ef7dd v4.3.3 2024-05-08 14:30:54 +09:00
Yusuke Wada
a900fbeda9 v4.3.2 2024-05-05 08:23:59 +09:00
Yusuke Wada
6946f16e5c v4.3.1 2024-05-04 18:20:43 +09:00
Yusuke Wada
d44be955c0 v4.3.0 2024-05-03 19:36:38 +09:00
Hyeseong Kim
33a7707439
feat(serve-static): expose serve-static builder (#2515)
* feat: allow to use serve-static builder

* typo

* add stricter type requirement as it is public interface

* allow specifying content-type (and others) from user code

* fix type

* rename the export the `serve-static`

* add a test
2024-05-01 07:03:07 +09:00
Yusuke Wada
06fe3ecd33 v4.2.9 2024-04-29 13:44:38 +09:00
Yusuke Wada
347ef12a9b v4.2.8 2024-04-26 18:33:34 +09:00
ryu
a7617543ef
chore(package.json): prettier use cache (#2549) 2024-04-24 06:27:14 +09:00