Taku Amano
b143c4ed8b
feat(middleware/csrf): Introduce CSRF middleware ( #1823 )
...
* feat(middleware/csrf): Introduce CSRF middleware
* test(middleware/csrf): Add tests for CSRF middleware
* chore: denoify
* fix(middleware/csrf): fix typo.
2023-12-27 06:58:20 +09:00
Sor4chi
7768865e7a
fix: move c.stream*
to helper ( #1846 )
...
* refactor: move streaming helper to `streaming/sse.ts`
* feat: add streamSSE's export in streaming handler
* feat: move `stream` and `streamText` to streaming helper
* chore: add deprecated expression for `c.stream` and `c.streamText`
* fix: use `stream` helper in streamSSE
* refactor: move `streamText` to `text.ts`
* test: add some case to `stream` and `streamText`
* test: refactor `streamSSE` case for uniformity
* chore: denoify
* fix: update jsdoc's deprecated description, simplify `c.stream` and `c.streamText`
* fix: match the header notation with that of `streamSSE
* chore: denoify
* refactor: remove unnecesary export
2023-12-27 06:55:24 +09:00
Yusuke Wada
d41c17ad0b
fix(req): avoid error when req.queries()
receives unexpected values ( #1862 )
...
* wip
* fix(req): avoid error when `req.queries()` receives unexpected values
* denoify
2023-12-27 06:41:48 +09:00
Yusuke Wada
e2601c3f0c
fix(client): add missing properties to ClientResponse
( #1861 )
...
* fix(client): add missing properties to `ClientResponse`
* denoify
2023-12-27 06:26:56 +09:00
Yusuke Wada
84c399238f
fix(trie-router): pass params to the next node ( #1852 )
...
* fix(trie-router): pass params to the next node
* denoify
2023-12-24 16:52:10 +09:00
Yusuke Wada
96946bad8e
fix(hono-base): make onError
and notFound
as class field ( #1839 )
...
* fix(hono-base): make `onError` and `notFound` as class field
* denoify
2023-12-21 22:37:56 +09:00
Taku Amano
1567438549
feat(helper/html): Support Promise<string | HtmlEscapedString> in html tagged template literals ( #1826 )
...
* feat(helper/html): Support Promise<string | HtmlEscapedString> in html tagged template literals
* chore: denoify
* test: fix lint error
2023-12-17 07:35:34 +09:00
Yusuke Wada
3817ccccc9
fix(factory): infer a merged path correctly ( #1821 )
...
* fix(factory): infer a merged path correctly
* denoify
2023-12-14 21:28:15 +09:00
Yusuke Wada
8e2b6b0851
Merge pull request from GHSA-f6gv-hh8j-q8vq
...
* fix(trie-router): don't remain with the values of named param
* denoify
* fix: don't share `params`
* denoify
2023-12-14 10:21:02 +09:00
Yusuke Wada
4c4c4ee42c
fix(context): set status
correctly ( #1814 )
...
* fix(context): set `status` correctly
* denoify
2023-12-13 16:21:53 +09:00
Yusuke Wada
af8d16b6db
fix(context): c.json()
allows object and returns JSONParsed<T> ( #1806 )
...
* fix(context): `c.json()` allows object and returns JSONParsed<T>
* denoify
2023-12-13 09:01:34 +09:00
ryu
87e256b4c6
docs(readme): update hono/tiny
size ( #1809 )
2023-12-13 07:56:55 +09:00
Yusuke Wada
0f33cf8d45
fix(context): set headers values correctly ( #1808 )
...
* fix(context): set headers values correctly
* denoify
2023-12-12 13:04:53 +09:00
Yusuke Wada
6830e7b99c
fix(client): c.json()
supports undefined
/null
response ( #1794 )
...
* fix(client): `c.json()` supports `undefined`/`null` response
* denoify
2023-12-09 16:14:55 +09:00
Yusuke Wada
477e763ad3
fix(client): make ClientResponse.json()
returns Union correctly ( #1786 )
...
* fix(client): make `ClientResponse.json()` returns Union correctly
* denoify
2023-12-06 23:11:34 +09:00
Yusuke Wada
19060105f1
fix(base): name private _basePath
instead of #basePath
( #1785 )
...
* fix(base): name `private _basePath` instead of `#basePath`
* denoify
2023-12-06 22:23:50 +09:00
Ben
41075d5a80
fix(types): Added E
env type argument to showRoutes
& inspectRoutes
hono
parameter ( #1778 )
...
* Fixed `showRoutes` doc comment import path
* Fixed `showRoutes` & `inspectRoutes` Hono parameter types
* Updated `deno_dist` Deno files
* Renamed type arguments from `TEnv` to `E`
2023-12-05 18:47:45 +09:00
Yusuke Wada
42912df795
fix(context): Strict type checking c.json()
( #1776 )
...
* fix(context): Strict type checking `c.json()`
* denoify
2023-12-04 22:14:49 +09:00
Yusuke Wada
b21f33c987
Merge pull request #1774 from honojs/next
...
Next
2023-12-04 17:36:48 +09:00
Yusuke Wada
22b5f532b4
refactor: use #
for private properties ( #1762 )
...
* refactor: use `#` for private properties
* denoify
2023-12-04 17:29:24 +09:00
Yusuke Wada
86c4165ea4
fix(factory): Filter undefined in createHandlers
( #1772 )
...
* fix(factory): Filter undefined in `createHandlers`
* denoify
2023-12-04 09:47:45 +09:00
Yusuke Wada
5f42d3cca4
feat(jsx): mark ErrorBoundary
as experimental
( #1771 )
...
* feat(jsx): mark `ErrorBoundary` as `experimental`
* denoify
2023-12-04 05:56:25 +09:00
Yusuke Wada
99f5e132bc
fix(client): Allow optional props in JSON response ( #1769 )
...
* fix(client): allow optional props in JSON response
* denoify
2023-12-03 18:55:59 +09:00
Taku Amano
d86fcd41e1
feat(request): Introduce matchedRoutes
and routePath
for HonoRequest
( #1744 )
...
* feat(request): Introduce `matchedRoutes` and `routePath` for `HonoRequest`
* test: update test.
* chore: denoify
* fix: Remove unused type imports.
2023-12-03 18:55:38 +09:00
Taku Amano
d16aedfffd
feat: Ensure that calls to c.json()
have a type equivalent to c.jsonT()
( #1728 )
...
* feat: Ensure that calls to `c.json()` have a type equivalent to `c.jsonT()`
* refactor: Objects with "response" properties are never returned by the handler
* refactor: "status" is not needed in TypedResponse
* refactor: Revive `c.jsonT()` and add @deprecated label
* refactor: Tweaks commenting on "eslint-disable" broken by `format:fix`
* test: Use `c.json()` instead of `c.jsonT()` to make sure there are no problems
* refactor: allow ambiguous type for `c.json()`
* chore: denoify
* fix: Remove unused TypedResponse from import statement
2023-12-03 09:03:14 +09:00
Yusuke Wada
b6133c4130
refactor(router): remove duplication MESSAGE_MATCHER_IS_ALREADY_BUILT
( #1763 )
...
* refactor(router): duplicated messages as `MESSAGE_MATCHER_IS_ALREADY_BUILT`
* denoify
2023-12-02 06:10:37 +09:00
Yusuke Wada
63179949c9
fix(types): Keep Env
types with changed routes ( #1757 )
...
* fix(types): Keep `Env` types with changed routes
* denoify
2023-12-02 05:23:00 +09:00
Yusuke Wada
472fee3629
Merge branch 'main' into next
2023-12-02 05:22:10 +09:00
Yusuke Wada
4fdfdd6d12
fix(context): Set content-type
with c.text()
correctly ( #1761 )
...
* fix(context): Set `content-type` with `c.text()` correctly
* denoify
2023-12-02 05:15:09 +09:00
Taku Amano
bd36ad10fc
feat(helper/dev): Introduce inspectRoutes()
and showRoutes()
( #1716 )
...
* feat(dev): Introduce "dev" helper
* feat(dev): Expose "dev" helper
* refactor: Use "named function" in some middleware.
* feat: `app.showRoutes()` is now deprecated. Use `showRoutes()` in `helper` instead.
* refactor: export RouterRoute interface for utility
* refactor: remove captureRouteStackTrace, add inspectRoutes
`captureRouteStackTrace` will be implemented after some more thought.
Instead, I added `inspectRoutes` to get routes as data.
* test: add tests for helper/dev/index.ts
* fix: run `format:fix`
* refactor: use named functions for middleware
* chore: denoify
* docs: tweaks deprecation warning message
* refactor(dev): Simplification of showList options
* chore: denoify
2023-11-29 19:22:09 +09:00
Stibbs
f4ff712796
feat(bearerAuth): accept a list of token strings ( #1749 )
...
* bearer-auth accepts list of token strings
* add yarn denoify output
* remove test files. retain only deno_dist bearer-auth
2023-11-29 19:04:20 +09:00
Yusuke Wada
10c16c23ef
feat(context): remove experimental
from c.render
/c.setRenderer()
( #1748 )
...
* feat(context): remove `experimental` from `c.render` and `c.setRenderer()`
* denoify
2023-11-29 17:38:45 +09:00
Yusuke Wada
6dd1a77fb7
feat: introduce createFactory()
and createHandlers()
( #1743 )
...
* feat(helper/factory): introduce `createHandlers()`
* create `Factory` class
* support up to 10 handlers
* denoify
* fixed tests
2023-11-29 17:29:49 +09:00
Gabriel Donnantuoni Lima
b80895a8bd
feat(types): Support types until 10 handlers ( #1735 )
...
* feat: Support types until 10 handlers
* denoify
* feat: extend OnHandlerInterface to support until 10 handlers
* denoify
2023-11-29 04:18:11 +09:00
Yusuke Wada
19641d07c1
Merge branch 'main' into next
2023-11-28 18:00:14 +09:00
Yusuke Wada
7dc215577a
fix(helper/cookie): make default Path=/
for setCookie()
/setSignedCookie()
( #1742 )
...
* fix(helper/cookie): make default `path` as `/` for `setCookie()`/`setSignedCookie()`
* denoify
* fixed test
2023-11-28 17:52:34 +09:00
Taku Amano
c3275eebf0
fix(jsx): Write the raw value if the value is a HtmlEscaped string ( #1739 )
...
* fix(jsx): Write the raw value if the value is a HtmlEscaped string
* chore: denoify
2023-11-27 17:19:35 +09:00
watany
bea87a0429
feat(adaptor): Enhance AWS Lambda Event Handling and Interface ( #1710 )
2023-11-27 15:31:10 +09:00
Robert Sasak
79dc187dbb
fix(validator): Invalid HTTP header error is hidden ( #1694 )
...
* Invalid HTTP header error is hidden
This error is captured and never shown which may by misleading. This PR suggest to throw this error directly to the reponse.
* fixed the linter error
* add a test
* denoify
---------
Co-authored-by: Yusuke Wada <yusuke@kamawada.com>
2023-11-21 19:42:27 +09:00
Taku Amano
cd6c488b76
feat(jsx): Introduce ErrorBoundary
component ( #1714 )
...
* feat(jsx/streaming): Support Suspense in non-streaming mode.
* feat(jsx): Introduce ErrorBoundary component.
* chore: denoify
* feat: Support ErrorBoundary[fallbackRender].
* chore: denoify
* Rename utils.ts to components.ts
* refactor: export the ErrorBoundary component from the top level.
* fix: tweaks `resolveStream` to work with nested components
* refactor: Import `childrenToString` from `components.ts`
* fix: return immediately if the element is not found
* test: add test for jsx/components
* fix: run `npm run format:fix`
* chore: denoify
2023-11-21 18:05:05 +09:00
Yusuke Wada
257d5711b4
fix(compose): allow onError()
handler to be async ( #1730 )
...
* fix(compose): allow `onError()` handler to be async
* denoify
2023-11-21 17:15:01 +09:00
Russell Schick
710992fcd4
fix(compose): allow notFound handler to be async ( #1729 )
2023-11-21 16:59:41 +09:00
Yusuke Wada
3b71dc647f
fix(types): fixed a typo ( #1721 )
...
* fix(types): fixed a typo
* denoify
2023-11-19 05:23:45 +09:00
Taku Amano
ae3546e32a
fix: References this._s only when paramStash is passed from the router ( #1715 )
...
* fix: References this._s only when paramStash is passed from the router.
* chore: denoify
* fix: remove debug statement.
* test: Fix test for param keys.
2023-11-17 07:35:48 +09:00
Yusuke Wada
16396bc225
perf(compose): simplify ( #1701 )
...
* perf(compose): simplify
* denoify
2023-11-15 22:22:31 +09:00
Yusuke Wada
871cf80b6a
fix(context): c.text()
set the status set by c.status()
( #1702 )
...
* fix(context): `c.text()` set the status set by `c.status()`
* fixed logic
* denoify
2023-11-15 22:16:38 +09:00
Yusuke Wada
5e3e85a179
Merge pull request #1690 from honojs/next
...
Next
2023-11-13 14:25:42 +09:00
Yusuke Wada
d711484ac7
feat(app): use console.error()
for default errorHandler
( #1687 )
...
* feat(app): use `console.error()` for default `errorHandler`
* denoify
2023-11-13 01:18:54 +09:00
Yusuke Wada
db3387353f
fix(context): implement ContextVariableMap
for c.var
( #1682 )
...
* fix(context): implement `ContextVariableMap` for `c.var`
* denoify
2023-11-12 09:06:40 +09:00
Christian Rackerseder
47942ffc68
fix(types): allow arbitrary values as environment values ( #1680 )
2023-11-12 09:05:54 +09:00