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

Unicode character in dynamic segment crashes app #152

Open
joanniclaborde opened this issue Apr 10, 2018 · 0 comments
Open

Unicode character in dynamic segment crashes app #152

joanniclaborde opened this issue Apr 10, 2018 · 0 comments

Comments

@joanniclaborde
Copy link
Contributor

Given this redirects.js file:

module.exports = [{
  from: /\/career(.*)/,
  to: 'http://site.com/career{0}'
}];

And this request: /careers/venture-capital-funding-increased-in-2010-%E2%80%93-but-still-remains-well-below-2007-levels/

This error happens:

TypeError: The header content contains invalid characters
  File "_http_outgoing.js", line 363, in ServerResponse.OutgoingMessage.setHeader
  File "/app/node_modules/solidus/node_modules/express/node_modules/connect/lib/patch.js", line 59, in ServerResponse.res.setHeader
    return setHeader.call(this, field, val);
  File "/app/node_modules/solidus/node_modules/express/lib/response.js", line 518, in ServerResponse.res.set.res.header
    this.setHeader(field, val);
  File "/app/node_modules/solidus/node_modules/express/lib/response.js", line 651, in ServerResponse.res.location
    this.set('Location', url);
  File "/app/node_modules/solidus/node_modules/express/lib/response.js", line 693, in ServerResponse.res.redirect
    this.location(url);
  File "/app/node_modules/solidus/lib/redirect.js", line 41, in null.<anonymous>
    res.redirect( status, utils.expandVariables(url, req.params) );
  File "/app/node_modules/solidus/node_modules/express/lib/router/index.js", line 161, in callbacks
    if (fn.length < 4) return fn(req, res, callbacks);
  File "/app/node_modules/solidus/node_modules/express/lib/router/index.js", line 135, in param
    callbacks();
  File "/app/node_modules/solidus/node_modules/express/lib/router/index.js", line 142, in pass
    param(err);
  File "/app/node_modules/solidus/node_modules/express/lib/router/index.js", line 170, in Router._dispatch
    })(0);
  File "/app/node_modules/solidus/node_modules/express/lib/router/index.js", line 33, in Object.router
    self._dispatch(req, res, next);
  File "/app/node_modules/solidus/node_modules/express/node_modules/connect/lib/proto.js", line 190, in next
    layer.handle(req, res, next);
  File "/app/node_modules/solidus/lib/server.js", line 136, in null.<anonymous>
    next();
  File "/app/node_modules/solidus/node_modules/continuation-local-storage/context.js", line 48, in Namespace.run
    fn(context);
  File "/app/node_modules/solidus/lib/server.js", line 134, in Object.handle
    solidus_server.session.run(function() {
  File "/app/node_modules/solidus/node_modules/express/node_modules/connect/lib/proto.js", line 190, in next
    layer.handle(req, res, next);
  File "/app/node_modules/solidus/node_modules/express/node_modules/connect/lib/middleware/static.js", line 60, in resume
    next();
  File "/app/node_modules/solidus/node_modules/express/node_modules/connect/lib/middleware/static.js", line 73, in SendStream.error
    if (404 == err.status) return resume();
  File "events.js", line 77, in emitOne
  File "events.js", line 169, in SendStream.emit
  File "/app/node_modules/solidus/node_modules/express/node_modules/send/lib/send.js", line 147, in SendStream.error
    if (this.listeners('error').length) return this.emit('error', err);
  File "/app/node_modules/solidus/node_modules/express/node_modules/send/lib/send.js", line 248, in SendStream.onStatError
    if (~notfound.indexOf(err.code)) return this.error(404, err);
  File "/app/node_modules/solidus/node_modules/express/node_modules/send/lib/send.js", line 320, in null.<anonymous>
    if (err) return self.onStatError(err);
  File "/app/node_modules/solidus/node_modules/continuation-local-storage/node_modules/async-listener/glue.js", line 188, in null.<anonymous>
    var returned = original.apply(this, arguments);
  File "fs.js", line 82, in FSReqWrap.oncomplete

The redirect URL should contain encoded characters. Also, does this happen with resources too?

@joanniclaborde joanniclaborde changed the title Unicode character in dynamic segment crash app Unicode character in dynamic segment crashes app Apr 11, 2018
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

No branches or pull requests

1 participant