Releases: hivesolutions/netius
Releases · hivesolutions/netius
1.24.0
Added
ConnectionCompatmixin inmixin.pyextracting backward-compatibleConnectiondelegation methods (socket,renable,is_restored(),enable_read(), etc.) fromStreamProtocolConnectionCompatapplied toTransportStreamso it exposesis_restored()and other throttle-related methods- Throttle unit tests for proxy server covering both Connection and TransportStream paths
Changed
StreamProtocolnow inherits fromConnectionCompatmixin instead of defining delegation methods inline_throttle()inProxyServerandSocksServerresolvesTransportStreamto its_protocolforconn_mapkey lookup
Fixed
AttributeError: 'TransportStream' object has no attribute 'is_restored'in proxy throttle callbacks when using protocol-based architecture
1.23.2
Added
- POST, PUT and DELETE integration tests for
ReverseProxyIntegrationTestverifying request body forwarding through the proxy
Fixed
- Proxy POST/PUT body data silently dropped when backend connection not yet established -
StreamProtocol.send()now buffers data via_delay_send()instead of returning 0 when transport is None HTTPClientProtocol.connection_made()now flushes buffered data after sending request headers, ensuring proxy-forwarded body chunks reach the backendDatagramProtocol.send_to()aligned withStreamProtocol.send()guards - addedis_closed_or_closing()and missing transport checks for consistency
1.23.1
1.23.0
Added
addressproperty onStreamProtocoldelegating to underlyingConnectionfor backward compatibility with proxy code that accessesprotocol.address- End-to-end integration tests for
ReverseProxyServerexercising the full proxy data flow through a real server with httpbin backend - Reverse proxy example (
examples/proxy/proxy_reverse.py) showing minimal setup for forwarding requests to a backend
1.22.1
Fixed
- Protocol close event not firing when
_loopis None -delay(finish)ran synchronously insideclose_c(), callingdestroy()→unbind_all()beforetrigger("close")could fire, leaving staleconn_mapentries in the proxy NoneTypeattribute error onStreamProtocol.send()when transport is already closed - added guard for_transportbeing None
1.22.0
Added
- Base-compatible stub methods on
Agentso thatContainerworks with both old (Base) and new (Agent/Protocol) architectures without defensive guards ClientAgent.connect()method with_container_loopsupport for protocol-based connections to join the container's shared poll- Event relay system in
ClientAgent._relay_protocol_events()bridging protocol events to client-level observers - Container tests (
netius.test.base.container) covering setup, event bindings, lifecycle, and cleanup - Data flow tests for
ReverseProxyServercovering request routing, response relay, error handling, and lifecycle management
Changed
Container.apply_base()now sets_container_loopon non-Baseobjects to enable dual architecture multiplexingHTTPClient.method()uses_container_loopas default loop when available for container integration- Proxy throttle methods use
self.reads()/self.writes()since connections are owned by the proxy server
Fixed
AttributeErrorwhen runningConsulProxyServerdue toAgentsubclasses missingload,unload,ticks, and otherBase-expected methods