• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2const common = require('../common');
3
4// This test ensures that Unicode characters in the URL get handled correctly
5// by `http`
6// Refs: https://github.com/nodejs/node/issues/13296
7
8const assert = require('assert');
9const http = require('http');
10
11const expected = '/caf�';
12
13assert.strictEqual(expected, '/caf\u{e9}\u{1f436}');
14
15const server = http.createServer(common.mustCall(function(req, res) {
16  assert.strictEqual(req.url, expected);
17  req.on('data', common.mustCall(function() {
18  })).on('end', common.mustCall(function() {
19    server.close();
20    res.writeHead(200);
21    res.end('hello world\n');
22  }));
23
24}));
25
26server.listen(0, () => {
27  http.request({
28    port: server.address().port,
29    path: expected,
30    method: 'GET'
31  }, common.mustCall(function(res) {
32    res.resume();
33  })).on('error', function(e) {
34    console.log(e.message);
35    process.exit(1);
36  }).end();
37});
38