configurable-http-proxy icon indicating copy to clipboard operation
configurable-http-proxy copied to clipboard

Missing `GET /api/routes/{route_spec}` API

Open anandology opened this issue 7 years ago • 4 comments

The API has a way to create a route using POST method and delete using the DELETE method, but there is no way to get the information about a route or test if a route exists.

Expected behavior:

Request:

    GET /api/routes/path1

Response:

    200 OK
    {"target":"http://1.2.3.4:8301","host":"a.example.com","last_activity":"2017-09-14T14:46:49.162Z"}

---
Request:

    GET /api/routes/no-such-route

Response:

    404 Not Found

As of now, the GET /api/routes/{route_spec} API work and it is equivalent to GET /api/routes. The {route_spec} is complete ignored. When a non existing route is tried, the DELETE returns 404 status and GET returns 200 status, which is very confusing.

    DELETE /api/routes/no-such-route
    404 Not Found

    GET /api/routes/no-such-route
    200 OK
    {...}

anandology avatar Sep 15 '17 05:09 anandology

Supporting retrieval of specific routes makes sense

minrk avatar Sep 18 '17 12:09 minrk

I am trying to get all routes on my jupyterhub-docker-deploy, but the GET /api/routes/ returns nothing in response. Here is what I have done: Host>> docker container exec -it jupyterhub bash JupyterHubContainer>> curl http://localhost:8081/api/routes/

Ultimately, I would like to add additional routes in the proxy so, for example, I can browse to https://host-domain/user/datachannel/my-service and it gets routed to my-service hosted on jupyter notebook container.

ghost avatar Dec 01 '18 17:12 ghost

@datachannel that's the JupyterHub API. The proxy is in a different container (proxy in jupyterhub-deploy-docker, I believe).

minrk avatar Dec 01 '18 22:12 minrk

thanks @minrk. I only see three containers, 1. Jupyterhub 2. jupyterjub-db and 3. jupyter notebook container when I login. For the time-being, I ended up using nbserverproxy extension.

ghost avatar Dec 02 '18 21:12 ghost