Commit Graph

4 Commits

Author SHA1 Message Date
Abhinav Singh 19d47ad792 Create separate base plugin HttpProxyBasePlugin for proxy handling only
Disable open file limit tests for Windows
2019-08-26 10:54:14 -07:00
Abhinav Singh 4019e95850 Per worker queue instead of shared one.
1. MultiCoreDispatcher now dispatches request in round robin fashion.
2. Added Python3 static type hinting

add Google Cloud Run Button

Preserve proxy.py name as otherwise it breaks module system.  Just provide a custom service name to fix Google Cloud Run issue

Custom service name for Google Cloud Run.

Specify port in app.json as required by Google Cloud Run

Go cannot unmarshall int :)

Port desc

Looks like PORT cannot be overridden, for now use port 8080 in Dockerfile

Remove cloudrun integration.

While proxy.py runs successfully within the container, gvisor
limitations doesn't allow proxy.py to accept client connections.
Specifically membarrier syscall isn't allowed.

Update README.md
2019-08-24 09:31:56 -07:00
Abhinav Singh 6ea42b0dd9 Convert HttpProxy and HttpWebServer itself into plugins.
Load plugins during test execution

Further decouple proxy/webserver logic outside of HttpProtocolHandler.

Per connection plugin instances to avoid locks

Handle BrokenPipeError and teardown if read_from_descriptors return True
2019-08-24 09:31:53 -07:00
Abhinav Singh c8fabb86c4 Camel case consistency and more tests.
Add plugins to proxy.py for programmable proxy.

As requested in https://github.com/abhinavsingh/proxy.py/issues/30 and
other mediums, introduce proxy.py plugins.  plugin_examples.py provides
examples for how to use them.

Add capability for plugins to simply ProxyRejectRequest.
2019-08-24 09:30:59 -07:00