You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benno Evers (JIRA)" <ji...@apache.org> on 2019/03/14 12:11:00 UTC
[jira] [Created] (MESOS-9652) URL handler lookup might miss root
handlers
Benno Evers created MESOS-9652:
----------------------------------
Summary: URL handler lookup might miss root handlers
Key: MESOS-9652
URL: https://issues.apache.org/jira/browse/MESOS-9652
Project: Mesos
Issue Type: Bug
Reporter: Benno Evers
When looking up url handlers, libprocess is looking for the longest URL prefix that corresponds to a http endpoint handler registered by the handling process.
For example if a process did setup route `/foo` and `/foo/bar`, an incoming http request for `/foo/bar/baz` would be dispatched onto the `/foo/bar` handler.
However, if a process registers a route `/` the lookup will only succeed if the request is exactly for `/`, and a request for `/baz` will return a 404 Not Found response.
The root cause of this is the implementation of the handler lookup:
{noformat}
// ProcessBase::consume(HttpEvent&&)
name = strings::trim(name, strings::PREFIX, "/");
[...]
while (Path(name, '/').dirname() != name) {
[...]
}
{noformat}
where `dirname()` returns "." when given an input string that does not contain any `/` as `name`.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)