ladjs / supertest

🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[fix] don't change the requrest url hash

hongxuWei opened this issue · comments

Describe the bug

import request from 'supertest';
import express from 'express';

const app = express();

app.use((req, res, next) => {
  console.log(req.url);
  return next();
});

await request(app).get('/path/to.html?q=1#hash');

expect console.log(req.url); should output '/path/to.html?q=1#hash'
but got '/path/to.html?q=1'

Checklist

  • I have searched through GitHub issues for similar issues.
  • I have completely read through the README and documentation.
  • I have tested my code with the latest version of Node.js and this package and confirmed it is still not working.

Not a maintainer, but this makes sense to me as not a bug, since client's should not be sending the URL hash to a server:

The search part, if present, is sent as part of the HTTP command, and may in this respect be treated as part of the path. No fragmentid part of a WWW URI (the hash sign and following) is sent with the request.

https://www.w3.org/Addressing/rfc1630.txt