Skip to content

mobile: Support connection pool isolation in Python transport and a few other fixes#45646

Open
danzh2010 wants to merge 1 commit into
envoyproxy:mainfrom
danzh2010:empython
Open

mobile: Support connection pool isolation in Python transport and a few other fixes#45646
danzh2010 wants to merge 1 commit into
envoyproxy:mainfrom
danzh2010:empython

Conversation

@danzh2010

Copy link
Copy Markdown
Contributor
  • Add support for generating a unique socket tag in Python and injecting it via the x-envoy-mobile-socket-tag header in both synchronous and asynchronous HTTPX transports to enable connection pool isolation.
  • Preserve duplicate response headers (e.g. multiple Set-Cookie headers) by representing received headers as a list of tuples.
  • Filter out forbidden HTTP/1.1 connection-specific headers (e.g. Connection, Keep-Alive, Upgrade) and duplicate Host headers to prevent protocol errors in Envoy's HTTP/2 and HTTP/3 engines.
  • Ensure Envoy Mobile engine is fully running with a 10-second initialization timeout before returning from EnvoyTransportFactory.

Risk Level: low, python API not in use
Testing: new unit test
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

- Add support for generating a unique socket tag in Python and injecting it via the x-envoy-mobile-socket-tag header in both synchronous and asynchronous HTTPX transports to enable connection pool isolation.
- Preserve duplicate response headers (e.g. multiple Set-Cookie headers) by representing received headers as a list of tuples.
- Filter out forbidden HTTP/1.1 connection-specific headers (e.g. Connection, Keep-Alive, Upgrade) and duplicate Host headers to prevent protocol errors in Envoy's HTTP/2 and HTTP/3 engines.
- Ensure Envoy Mobile engine is fully running with a 10-second initialization timeout before returning from EnvoyTransportFactory.
- Add comprehensive unit tests covering socket tagging, header filtering, and engine startup synchronization.

Signed-off-by: Dan Zhang <danzh@google.com>
@danzh2010

Copy link
Copy Markdown
Contributor Author

/assign @paul-r-gall

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

Successfully merging this pull request may close these issues.

3 participants