Kuli Uploader
Kuli Uploader

Reputation: 21

Error accessing request.headers in Next.js middleware

I tried to access the request.headers in the Next.js Middleware but the data is not showing up.

If I access something else, the data can appear. If I display headers it gets an error:

Server Error
TypeError: Cannot delete property 'Symbol(set-cookie)' of #<HeadersList2>

Code in Middleware:

export function middleware(request) {
    console.log(request.credentials); // show -> same-origin
    console.log(request.method); // show -> GET

    console.log(request.headers); // page error
    console.log(request.headers.referer); // not show / undefined
}

export const config = {
    matcher: "/:path*/generate",
};

Fill in the data in the request variable:

enter image description here

Error when I display request.headers:

enter image description here

Upvotes: 2

Views: 7796

Answers (1)

juliomalves
juliomalves

Reputation: 50268

You can't access the headers object directly inside the middleware. If you want to access a specific header you should use the get method.

export function middleware(request) {
    console.log(request.headers.get('referer')); // Will output `referer` header value
    
    return NextResponse.next();
}

Upvotes: 11

Related Questions