Skip to content

Conversation

@sdesaiLULA
Copy link
Contributor

This pull request refactors the HTTP transport layer to improve extensibility and consistency, mainly by introducing the IWolverineHttpTransportClient interface, consolidating content type constants, and supporting both batch and inline sending modes. It also updates tests and documentation to reflect these changes.

Transport Client Improvements

  • Introduced the IWolverineHttpTransportClient interface for sending messages, allowing custom implementations and improving dependency injection flexibility. The default WolverineHttpTransportClient now implements this interface. [1] [2]
  • Updated service registration to use the interface, enabling easy substitution for custom behavior.

Content Type Consistency

  • Moved envelope content type constants (EnvelopeContentType, EnvelopeBatchContentType) to HttpTransport, ensuring a single source of truth and updated all usages accordingly. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Endpoint and Sender Enhancements

  • Added support for inline sending mode via the new InlineHttpSender class, and updated HttpEndpoint to select the appropriate sender based on mode. [1] [2]
  • Changed mode support logic in HttpEndpoint to allow all endpoint modes, including inline and buffered.
  • Exposed SupportsNativeScheduledSend on HttpEndpoint and enabled configuration via the publishing extension method. [1] Fb95d5f0L13R13, [2]

Documentation and Sample Updates

  • Improved comments in sample configuration to clarify batch vs. inline publishing and how to enable native scheduled sends. [1] [2]

Testing Updates

  • Added comprehensive unit tests for HttpEndpoint covering sender creation, listener building, and mode support.
  • Updated existing tests to use the new content type constants and interface-based client. [1] [2] [3] [4] [5]

…; add tests for HttpEndpoint and WolverineHttpTransportClient; Interface for WolverineHttpTransportClient to enable custom implementation
@jeremydmiller jeremydmiller merged commit d3d82a5 into JasperFx:main Dec 29, 2025
1 check passed
@jeremydmiller
Copy link
Member

@sdesaiLULA Good stuff, thank you!

@jeremydmiller jeremydmiller added this to the 5.10.0 milestone Dec 29, 2025
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.

2 participants