Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(hono-base): add replaceRequest option for app.mount #2852

Merged
merged 6 commits into from
Jun 3, 2024

Conversation

yusukebe
Copy link
Member

@yusukebe yusukebe commented May 29, 2024

Resolves #2781

This PR introduces the rewritePath option to app.mount(). With the current spec, if you use app.mount(), the path to pass to your mounted application will be changed. The base path will be removed.

app.mount('/sub-app', subApp.handle)

If you access /sub-app/hello/foo, the subApp receives /hello/foo. This is good behavior for some apps, but it's bad for some apps like #2781.

With the rewritePath option, you can specify the path to pass to the sub-application. If you don't want to remove the base path, you can write the following:

app.mount('/sub-app', subApp.handle, {
  rewritePath: (path) => path,
})

The pain point

The logic will be a little bit complex. As for this, the application size will be slightly increased. Eitherway, I think we can reduce the size in other places.

The author should do the following, if applicable

  • Add tests
  • Run tests
  • bun run format:fix && bun run lint:fix to format the code
  • Add TSDoc/JSDoc to document the code

@yusukebe
Copy link
Member Author

Hey @usualoma ! What do you think about this feature?

@yusukebe
Copy link
Member Author

yusukebe commented May 29, 2024

Or, I've created the Mounting Helper:

const app = new Hono()

app.all(
  '/sub-app/*',
  toHandler(subApp.handle, {
    basePath: '/sub-app',
  })
)

This is interesting since the sub-app will act as a handler. It can be separated from hono-base.ts, and we can obsolete app.mount.

But I've noticed this is redundant.

@yusukebe
Copy link
Member Author

Or simply, it is okay to be boolean since I can't imagine the use case of the function if rewritePath is a function.

app.mount('/sub-app', subApp.handle, {
  rewritePath: false,
})

@yusukebe
Copy link
Member Author

@usualoma Sorry for pinging again!

In summary, there are three ways to resolve #2781.

  1. rewritePath option - (path: string) => string
  2. rewritePath option - boolean
  3. Mounting Helper

What do you think about it?

@usualoma
Copy link
Member

@yusukebe Sorry, I missed it. I will check now.

@usualoma
Copy link
Member

@yusukebe
This PR approach is good! I think the following option is better.

rewritePath option - (path: string) => string

Here, when (path) => path, the Request replacement is unnecessary, and the original c.req.raw can be passed directly to the sub-application. Given that, it seems that we should be providing not a handler for path replacement, but a handler for request replacement. That way, you could do things like (I wonder how much demand there would be) 'add headers in requests to sub-application'.

The following.
#2873

@mvares
Copy link
Contributor

mvares commented May 31, 2024

hey @usualoma, I sent an email for you, so could you see? it's about hono

@yusukebe yusukebe changed the title feat(hono-base): add rewritePath option for app.mount feat(hono-base): add replaceRequest option for app.mount May 31, 2024
Copy link

codecov bot commented May 31, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 87.91%. Comparing base (8cc8a05) to head (998b01a).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2852      +/-   ##
==========================================
+ Coverage   87.88%   87.91%   +0.03%     
==========================================
  Files         139      139              
  Lines       14208    14244      +36     
  Branches     2228     2258      +30     
==========================================
+ Hits        12486    12522      +36     
  Misses       1722     1722              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@yusukebe
Copy link
Member Author

@usualoma

Thank you for the suggestion and the PR! replaceRequest is good! I've merged the PR to this branch. It's ready to integrate into the main. Maybe I'll release it as a patch release since it's only an update of the options.

@usualoma
Copy link
Member

@yusukebe
Thank you!
I think it's good.

Maybe I'll release it as a patch release since it's only an update of the options.

@yusukebe yusukebe merged commit a001151 into main Jun 3, 2024
14 checks passed
@yusukebe yusukebe deleted the feat/app-mount-rewrite-path branch June 3, 2024 11:42
nicolewhite referenced this pull request in autoblocksai/cli Jun 10, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hono](https://hono.dev/) ([source](https://github.com/honojs/hono))
| [`4.4.0` ->
`4.4.4`](https://renovatebot.com/diffs/npm/hono/4.4.0/4.4.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/hono/4.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/hono/4.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/hono/4.4.0/4.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/hono/4.4.0/4.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>honojs/hono (hono)</summary>

### [`v4.4.4`](https://github.com/honojs/hono/releases/tag/v4.4.4)

[Compare
Source](https://github.com/honojs/hono/compare/v4.4.3...v4.4.4)

##### What's Changed

- fix(typo): Fix typo in request.test.ts by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/honojs/hono/pull/2899](https://github.com/honojs/hono/pull/2899)
- feat(hono-base): skip import HTTPException by using HTTPResponseError
by [@&#8203;usualoma](https://github.com/usualoma) in
[https://github.com/honojs/hono/pull/2898](https://github.com/honojs/hono/pull/2898)
- chore: improve unfinalized response error by
[@&#8203;Cherry](https://github.com/Cherry) in
[https://github.com/honojs/hono/pull/2902](https://github.com/honojs/hono/pull/2902)
- chore: create .gitpod.yml by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2868](https://github.com/honojs/hono/pull/2868)
- fix(cloudflare-workers): export getConnInfo() by
[@&#8203;ryuapp](https://github.com/ryuapp) in
[https://github.com/honojs/hono/pull/2906](https://github.com/honojs/hono/pull/2906)
- fix(hono-base): return 404 if lacking response in a single sync
handler by [@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2909](https://github.com/honojs/hono/pull/2909)
- refactor: remove `Prettify` as duplicated with `Simplify` by
[@&#8203;NamesMT](https://github.com/NamesMT) in
[https://github.com/honojs/hono/pull/2914](https://github.com/honojs/hono/pull/2914)
- fix(types):
[#&#8203;2912](https://github.com/honojs/hono/issues/2912): interfaces
array's respond typed as `never` by
[@&#8203;NamesMT](https://github.com/NamesMT) in
[https://github.com/honojs/hono/pull/2915](https://github.com/honojs/hono/pull/2915)
- feat(context): `c.redirect()` supports `TypedResponse` by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2908](https://github.com/honojs/hono/pull/2908)
- feat(jsx): support htmlfor attribute alias by
[@&#8203;akira-tsuno](https://github.com/akira-tsuno) in
[https://github.com/honojs/hono/pull/2916](https://github.com/honojs/hono/pull/2916)
- fix(filepath): allow suffix includes `-` and `_` by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2910](https://github.com/honojs/hono/pull/2910)
- fix(types): add `_` prefix to `TypedResponse` properties by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2917](https://github.com/honojs/hono/pull/2917)
- fix(types): `SimplifyDeepArray` should now actually be "deep" by
[@&#8203;NamesMT](https://github.com/NamesMT) in
[https://github.com/honojs/hono/pull/2920](https://github.com/honojs/hono/pull/2920)
- refactor(middleware/serve-static): call getContent only once if the
file does not exist by [@&#8203;usualoma](https://github.com/usualoma)
in
[https://github.com/honojs/hono/pull/2922](https://github.com/honojs/hono/pull/2922)
- chore: add `text` and `html` for coverage reporter by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2923](https://github.com/honojs/hono/pull/2923)
- refactor(conninfo): create `types.ts` for type definitions by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2924](https://github.com/honojs/hono/pull/2924)

##### New Contributors

- [@&#8203;yasuaki640](https://github.com/yasuaki640) made their first
contribution in
[https://github.com/honojs/hono/pull/2899](https://github.com/honojs/hono/pull/2899)
- [@&#8203;Cherry](https://github.com/Cherry) made their first
contribution in
[https://github.com/honojs/hono/pull/2902](https://github.com/honojs/hono/pull/2902)
- [@&#8203;akira-tsuno](https://github.com/akira-tsuno) made their
first contribution in
[https://github.com/honojs/hono/pull/2916](https://github.com/honojs/hono/pull/2916)

**Full Changelog**:
honojs/hono@v4.4.3...v4.4.4

### [`v4.4.3`](https://github.com/honojs/hono/releases/tag/v4.4.3)

[Compare
Source](https://github.com/honojs/hono/compare/v4.4.2...v4.4.3)

##### What's Changed

- ci: Update workflow name of release.yml by
[@&#8203;siguici](https://github.com/siguici) in
[https://github.com/honojs/hono/pull/2874](https://github.com/honojs/hono/pull/2874)
- refactor: removed unnecessary line by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2869](https://github.com/honojs/hono/pull/2869)
- ci: change name of workflow jobs by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2875](https://github.com/honojs/hono/pull/2875)
- docs(jsdoc): add jsdoc of some modules by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2836](https://github.com/honojs/hono/pull/2836)
- ci: Report coverage with CodeCov by
[@&#8203;exoego](https://github.com/exoego) in
[https://github.com/honojs/hono/pull/2862](https://github.com/honojs/hono/pull/2862)
- docs: update readme and migrate guide for migrating `deno.land/x` to
JSR by [@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2879](https://github.com/honojs/hono/pull/2879)
- chore: add coverage badge to README by
[@&#8203;exoego](https://github.com/exoego) in
[https://github.com/honojs/hono/pull/2881](https://github.com/honojs/hono/pull/2881)
- fix(websocket): the onopen event cannot be triggered during delayed
operations in deno by [@&#8203;JetLua](https://github.com/JetLua) in
[https://github.com/honojs/hono/pull/2864](https://github.com/honojs/hono/pull/2864)
- fix(cloudflare-workers): Update websocket.ts to return 101 status code
by [@&#8203;ronkeiser](https://github.com/ronkeiser) in
[https://github.com/honojs/hono/pull/2886](https://github.com/honojs/hono/pull/2886)
- test(workerd): rename the runtime test `wrangler` to `workerd` by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2888](https://github.com/honojs/hono/pull/2888)
- test(workerd): add tests for WebSocket by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2891](https://github.com/honojs/hono/pull/2891)
- refactor(aws-lambda): merge custom-context into types by
[@&#8203;exoego](https://github.com/exoego) in
[https://github.com/honojs/hono/pull/2889](https://github.com/honojs/hono/pull/2889)
- chore: Exclude type-only files from coverage by
[@&#8203;exoego](https://github.com/exoego) in
[https://github.com/honojs/hono/pull/2890](https://github.com/honojs/hono/pull/2890)
- test(presets): add tests for `hono/quick` and `hono/tiny` by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2892](https://github.com/honojs/hono/pull/2892)
- fix(types): fix typo for unofficial status code type by
[@&#8203;ryuapp](https://github.com/ryuapp) in
[https://github.com/honojs/hono/pull/2894](https://github.com/honojs/hono/pull/2894)
- feat(hono-base): add `replaceRequest` option for `app.mount` by
[@&#8203;yusukebe](https://github.com/yusukebe) in
[https://github.com/honojs/hono/pull/2852](https://github.com/honojs/hono/pull/2852)

##### New Contributors

- [@&#8203;siguici](https://github.com/siguici) made their first
contribution in
[https://github.com/honojs/hono/pull/2874](https://github.com/honojs/hono/pull/2874)
- [@&#8203;JetLua](https://github.com/JetLua) made their first
contribution in
[https://github.com/honojs/hono/pull/2864](https://github.com/honojs/hono/pull/2864)
- [@&#8203;ronkeiser](https://github.com/ronkeiser) made their first
contribution in
[https://github.com/honojs/hono/pull/2886](https://github.com/honojs/hono/pull/2886)

**Full Changelog**:
honojs/hono@v4.4.2...v4.4.3

### [`v4.4.2`](https://github.com/honojs/hono/releases/tag/v4.4.2)

[Compare
Source](https://github.com/honojs/hono/compare/v4.4.1...v4.4.2)

#### What's Changed

- fix: add return types of void function by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2870](https://github.com/honojs/hono/pull/2870)

**Full Changelog**:
honojs/hono@v4.4.1...v4.4.2

### [`v4.4.1`](https://github.com/honojs/hono/releases/tag/v4.4.1)

[Compare
Source](https://github.com/honojs/hono/compare/v4.4.0...v4.4.1)

#### What's Changed

- refactor(pretty-json): remove useless condition by
[@&#8203;6km](https://github.com/6km) in
[https://github.com/honojs/hono/pull/2815](https://github.com/honojs/hono/pull/2815)
- fix(aws-lambda): Update handler.ts getQueryString by
[@&#8203;qualipsolutions](https://github.com/qualipsolutions) in
[https://github.com/honojs/hono/pull/2782](https://github.com/honojs/hono/pull/2782)
- refactor(aws-lambda): Object.hasOwn is recommended by
[@&#8203;exoego](https://github.com/exoego) in
[https://github.com/honojs/hono/pull/2831](https://github.com/honojs/hono/pull/2831)
- fix(client): allow multiple files on the same key in form by
[@&#8203;olivier-drieux](https://github.com/olivier-drieux) in
[https://github.com/honojs/hono/pull/2791](https://github.com/honojs/hono/pull/2791)
- fix(helper/ssg): fix bug of joinPaths by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2809](https://github.com/honojs/hono/pull/2809)
- chore: Author should include JSDoc by
[@&#8203;fzn0x](https://github.com/fzn0x) in
[https://github.com/honojs/hono/pull/2840](https://github.com/honojs/hono/pull/2840)
- fix(middleware/body-limit): set default duplex option for readable
stream by [@&#8203;fzn0x](https://github.com/fzn0x) in
[https://github.com/honojs/hono/pull/2837](https://github.com/honojs/hono/pull/2837)
- refactor(websocket): remove unused condition by
[@&#8203;fzn0x](https://github.com/fzn0x) in
[https://github.com/honojs/hono/pull/2839](https://github.com/honojs/hono/pull/2839)
- feat(bun): WebSocket helper supports that env be `{ server: server }`
by [@&#8203;nakasyou](https://github.com/nakasyou) in
[https://github.com/honojs/hono/pull/2812](https://github.com/honojs/hono/pull/2812)
- refactor: added paths-ignore for ignore files of dont need tests by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2850](https://github.com/honojs/hono/pull/2850)
- ci: include node22 tests by
[@&#8203;Jayllyz](https://github.com/Jayllyz) in
[https://github.com/honojs/hono/pull/2851](https://github.com/honojs/hono/pull/2851)
- docs(src/\*): Add TSDoc comments to improve code documentation by
[@&#8203;fzn0x](https://github.com/fzn0x) in
[https://github.com/honojs/hono/pull/2841](https://github.com/honojs/hono/pull/2841)
- fix(types): allow blank env by
[@&#8203;fzn0x](https://github.com/fzn0x) in
[https://github.com/honojs/hono/pull/2834](https://github.com/honojs/hono/pull/2834)
- refactor: removed v4 branch in actions. by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2849](https://github.com/honojs/hono/pull/2849)
- refactor(helper/adapter): improve runtime detection by
[@&#8203;6km](https://github.com/6km) in
[https://github.com/honojs/hono/pull/2846](https://github.com/honojs/hono/pull/2846)
- fix(jsx/dom): Fixed to not add "px" for certain properties, even if
numeric value is given by
[@&#8203;usualoma](https://github.com/usualoma) in
[https://github.com/honojs/hono/pull/2845](https://github.com/honojs/hono/pull/2845)
- refactor(aws-lambda): remove unused setHeadersToResult by
[@&#8203;exoego](https://github.com/exoego) in
[https://github.com/honojs/hono/pull/2828](https://github.com/honojs/hono/pull/2828)
- fix(validator): support json api header by
[@&#8203;dil-borosz](https://github.com/dil-borosz) in
[https://github.com/honojs/hono/pull/2855](https://github.com/honojs/hono/pull/2855)
- refactor(helper/testing): remove some any of helper/testing by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2833](https://github.com/honojs/hono/pull/2833)
- docs: change to shell highlight by
[@&#8203;EdamAme-x](https://github.com/EdamAme-x) in
[https://github.com/honojs/hono/pull/2848](https://github.com/honojs/hono/pull/2848)
- refactor(compose): Remove type definition of ComposeContext that was
defined twice by [@&#8203;chimame](https://github.com/chimame) in
[https://github.com/honojs/hono/pull/2858](https://github.com/honojs/hono/pull/2858)

#### New Contributors

- [@&#8203;6km](https://github.com/6km) made their first contribution
in
[https://github.com/honojs/hono/pull/2815](https://github.com/honojs/hono/pull/2815)
- [@&#8203;qualipsolutions](https://github.com/qualipsolutions) made
their first contribution in
[https://github.com/honojs/hono/pull/2782](https://github.com/honojs/hono/pull/2782)
- [@&#8203;olivier-drieux](https://github.com/olivier-drieux) made
their first contribution in
[https://github.com/honojs/hono/pull/2791](https://github.com/honojs/hono/pull/2791)
- [@&#8203;Jayllyz](https://github.com/Jayllyz) made their first
contribution in
[https://github.com/honojs/hono/pull/2851](https://github.com/honojs/hono/pull/2851)
- [@&#8203;dil-borosz](https://github.com/dil-borosz) made their first
contribution in
[https://github.com/honojs/hono/pull/2855](https://github.com/honojs/hono/pull/2855)
- [@&#8203;chimame](https://github.com/chimame) made their first
contribution in
[https://github.com/honojs/hono/pull/2858](https://github.com/honojs/hono/pull/2858)

**Full Changelog**:
honojs/hono@v4.4.0...v4.4.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
America/Chicago, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/autoblocksai/cli).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

app.mount() removing the subpath from the request url is causing routing error in the inner routers
3 participants