Skip to content

Commit de4d9cb

Browse files
Merge branch 'main' into tn/merge-middleware-apiRoute-cookies
2 parents 24a7bc0 + 49756be commit de4d9cb

File tree

10 files changed

+208
-87
lines changed

10 files changed

+208
-87
lines changed

.github/workflows/test-deno.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Deno tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Git Checkout Deno Module
15+
uses: actions/checkout@v2
16+
- name: Use Deno Version ${{ matrix.deno-version }}
17+
uses: denolib/setup-deno@v2
18+
with:
19+
deno-version: vx.x.x
20+
- name: Test Deno
21+
run: deno test packages/runtime/src/templates/edge-shared/

cypress/integration/middleware/enhanced.spec.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,4 @@
11
describe('Enhanced middleware', () => {
2-
it('adds request headers', () => {
3-
cy.request('/api/hello').then((response) => {
4-
expect(response.body).to.have.nested.property('headers.x-hello', 'world')
5-
})
6-
})
7-
8-
it('adds request headers to a rewrite', () => {
9-
cy.request('/headers').then((response) => {
10-
expect(response.body).to.have.nested.property('headers.x-hello', 'world')
11-
})
12-
})
13-
142
it('rewrites the response body', () => {
153
cy.visit('/static')
164
cy.get('#message').contains('This was static but has been transformed in')

cypress/integration/middleware/standard.spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
describe('Standard middleware', () => {
2+
it('adds request headers', () => {
3+
cy.request('/api/hello').then((response) => {
4+
expect(response.body).to.have.nested.property('headers.x-hello', 'world')
5+
})
6+
})
7+
8+
it('adds request headers to a rewrite', () => {
9+
cy.request('/headers').then((response) => {
10+
expect(response.body).to.have.nested.property('headers.x-hello', 'world')
11+
})
12+
})
13+
214
it('rewrites to internal page', () => {
315
// preview mode is off by default
416
cy.visit('/shows/rewriteme')

demos/middleware/middleware.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@ export async function middleware(req: NextRequest) {
88
let response
99
const { pathname } = req.nextUrl
1010

11+
if (pathname.startsWith('/api/hello')) {
12+
// Next 13 request header mutation functionality
13+
const headers = new Headers(req.headers)
14+
15+
headers.set('x-hello', 'world')
16+
return NextResponse.next({
17+
request: {
18+
headers
19+
}
20+
})
21+
}
22+
1123
const request = new MiddlewareRequest(req)
1224
if (pathname.startsWith('/static')) {
1325
// Unlike NextResponse.next(), this actually sends the request to the origin
@@ -24,12 +36,6 @@ export async function middleware(req: NextRequest) {
2436
return res
2537
}
2638

27-
if (pathname.startsWith('/api/hello')) {
28-
// Add a header to the request
29-
req.headers.set('x-hello', 'world')
30-
return request.next()
31-
}
32-
3339
if (pathname.startsWith('/api/geo')) {
3440
req.headers.set('x-geo-country', req.geo.country)
3541
req.headers.set('x-geo-region', req.geo.region)

demos/turborepo-next-monorepo-demo/package-lock.json

Lines changed: 25 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)