Comments (2)
I, too, wish this could have been Python! But it was vastly simpler to extend the existing node-http-proxy than to reimplement a proxy in Python. Node.js was chosen specifically because it makes the lives of maintainers of jupyterhub easier, despite it not being in our language of choice. Right now, installing node.js is a whole lot less work that writing and maintaining a whole new proxy. CHP sits on an existing proxy, so the only bit we maintain is the configurable-
in configurable-http-proxy, making this a very small and low-maintenance project. Which is very important when we are a small team spread across many projects.
If you have different requirements, JupyterHub allows any proxy implementation now, so it is possible to write a Python proxy for JupyterHub. There is one in nginx and one for kubernetes ingress.
If you want to write and maintain a Python proxy, I'm sure that would make some folks happy, but since it would greatly increase our maintenance burden here, it is not planned.
nbrserverproxy is on its way to implementing most of the necessary features, but with less performance considerations since it's one per user.
from configurable-http-proxy.
@minrk thanks for NCHP reference! probably it's the thing that is better than writing own with Python. It took couple of hours to actually get basic API and functionality working with approach similar to nbrserverproxy. I'm also glad to hear than JupyterHub now supports different proxy commands - we haven't updated the version for about a year and now it's the time.
from configurable-http-proxy.
Related Issues (20)
- `--custom-header` option doesn't work with only one header HOT 7
- Update to commander 9 HOT 3
- Update to ws >= 8 HOT 2
- Update to jasmine >= 4 HOT 1
- Memory leak in proxy? HOT 15
- Add custom-header failed HOT 2
- Release 5.0.0, dropping support for old node version - and more? HOT 14
- Update to use alpine 3.16 as a base image. HOT 4
- Socket leak HOT 41
- jupyterhub/configurable-http-proxy:4.5.3 image vulnerability issue HOT 2
- CHP Docker - permission denied on ssl cert key with properly configured permissions HOT 2
- Container rebuild to resolve open security issues HOT 1
- Routing baseurl problem HOT 5
- Scale the configurable-http-proxy to handle 1000 connections HOT 2
- Request for 4.5.5 release
- EKS container pods unable to communicate with proxy HOT 2
- Document what node version is used for various tags
- Basepath not retained in proxied requests HOT 1
- pre-commit tests fails
- Error when redirecting jupyterhub's stdout to a file on a full partition HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from configurable-http-proxy.