Skip to content

Upgrade to HttpCore 5.5 / Getting started guide - #45

Open
ok2c wants to merge 1 commit into
apache:masterfrom
ok2c:httpcore-5.5-upgrade
Open

Upgrade to HttpCore 5.5 / Getting started guide#45
ok2c wants to merge 1 commit into
apache:masterfrom
ok2c:httpcore-5.5-upgrade

Conversation

@ok2c

@ok2c ok2c commented Aug 18, 2026

Copy link
Copy Markdown
Member

@arturobernalg @rschmitt @garydgregory @michael-o

Folks, I finally managed to put together some sort of document describing the intent & design objectives as well as as "getting started" guide for HttpCore. Please let me know if you find anything objectionable or wrong

@garydgregory Do feel free to correct my English as you deem appropriate
@rschmitt This is my attempt at explaining the initial motivation for HttpClient / HttpCore module split at the project's inception in November 2007. We can discuss if it still makes sense 20 years after. But this is how it all started.

times (unless their state can be reset). One must create a new instance for each new
message exchange execution.

One can use`AsyncClientPipeline` and `AsyncJsonClientPipeline` utility classes to simplify

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space missing

message exchange execution.

One can use`AsyncClientPipeline` and `AsyncJsonClientPipeline` utility classes to simplify
assmbly of async message exchange handlers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assembly

choosing the classic requester for use scenarios with the HTTP/2 protocol support being
optional.

Classic message exchange handlers can be state-less and they generally tend to have

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stateless

processing based on predefined request route definitions.

Please note however HttpCore servers do not support advanced server features such as
different authentication schemes, access control and user rile management out of the box.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

file?

Please note async message exchange handlers are state-ful and cannot be executed multiple
times. One must create a new instance for each new message exchange execution.

One can use`AsyncServerPipeline` and `AsyncJsonServerPipeline` utility classes to simplify

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space missing

times. One must create a new instance for each new message exchange execution.

One can use`AsyncServerPipeline` and `AsyncJsonServerPipeline` utility classes to simplify
assmbly of async message exchange handlers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assembly

sides, does not need to handle requests with large or unexpected content body and support
thousands of concurrent connections.

Classic message exchange handlers can be state-less and they generally tend to have a

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stateless

be used to plug-in custom logging.

HttpCore ships with `httpcore5-testing` module that provides a number of listener
implementations that log DEBUG priority events through `slfj4` facade.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEBUG level

be used to plug-in custom logging.

HttpCore ships with `httpcore5-testing` module that provides a number of listener
implementations that log DEBUG priority events through `slfj4` facade.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

slf4j

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