* Issue #4631 - Fixing XML comment that was accidentally reformatted
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4631 - Warning about skipping of <Arg> nodes is in wrong place for <Configure>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4631 - Improving testcase
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4631 - Removing test classes
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4631 - Cleaning up configure with index per PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4631 - More named arg test cases
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4631 - Add testConfiguredWithNamedArgNotFirst
+ new testcase where <Arg> is needed, but is not the first node
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Cleanup configuration index usage
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
* Fixes#4577 IPAccessHandler in context
Fixes and tests #4577 IPAccessHandler in context by using target instead of pathInfo for path matching.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Tests #4577 IPAccessHandler target
Updates from review.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4577 IpAccessHandler NPE
Match on full URI path rather than target.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Fix#4541 by initially allocated a header buffer of `min(_config.getResponseHeaderSize(), _config.getOutputBufferSize())`
Only allocate a buffer of `getResponseHeaderSize` if an overflow results.
This should have no effect on the majority of responses where `getOutputBufferSize` is greater than `getResponseHeaderSize` other than the cost of a min operation.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Added option for #4529 to control showing the servlet in an error page.
Error configuration really needs a module, but will add in 10 with a refactor.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4533 Hard close from Dispatcher
Signed-off-by: Greg Wilkins <gregw@webtide.com>
#4533 Do hard close from Dispatcher so response wrappers may intercept close.
* Issue #4533 Hard close from Dispatcher
Signed-off-by: Greg Wilkins <gregw@webtide.com>
#4533 improve test after review
* Issue #4533 Hard close from Dispatcher
Some renaming of methods to make it clear that softClose should only be used as part of sendError handling. If softClose is used by other components, then sendError can be prevented from setting the error status.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Added tests to check that aggregation continues after first flush of an aggregated buffer (this triggers both #4461 and the discovered bug of not aggregating because of empty at capacity aggregate buffer).
Added getAggregateSize method that does a compact to avoid empty at capacity aggregate buffer
Call onWriteComplete if residue of an overflow aggregation can itself be aggregated.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Removed implicit compact from GzipHandler
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Improve test coverage
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Remove case that can never happen.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
Added test harness to reproduce unready completing write.
Fixed test by not closing output prior to becoming READY
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Write Complete
Test harness to reproduce unready when closing/completing.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Write Complete
test both PENDING and UNREADY
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Write Complete
test cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Close Complete
Cleanups of write
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* WIP
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Work in progress
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Added async close to HttpWriter and ResponseWriter
Always use async close, with blocker if necessary.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Working async close complete!
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
invert test as we can now call complete when not ready!
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
fixed transition to ERROR state
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
async close after onError
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
minor cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Fix for proxy tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Fix write loop to handle clear of p=0,l=0 rather than p=l
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Removed old close on all content mechanism
Cleanups and some more TODOs
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
a reworking of HttpOutput to separate out API state.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Soft close for Dispatcher
release buffer in onWriteComplete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Set _onError in onWriteComplete
NOOP callback instead of null
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
failure closes HttpOutput
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Moved closedCallback handling to onWriteComplete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Additional test of complete during blocking write.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
reimplemented blocking close to sometimes be async
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
ascii "art"
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Code cleanup. Use a CLOSE state rather than non null closedCallback to be clearer that it is a state.
Renamed close(Callback) to complete(Callback)
Renamed and simplified closed() to completed()
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Do not dispatch
Better ascii art
improved close impl to be similar to complete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
More test cases
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
retain execute behaviour in 9.4. review in 10.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Improved javadoc and ascii art
* Improved CLOSING
Switch to CLOSING state as soon as last write is done, even if several non last channelWrites will be done. This allows a subsequent call to close to know that nothing needs to be written and can avoid some EOF exceptions. Now onWriteComplete acts only on the passed in last parameter.
Added test for sendContent
* WIP
Aggregate within lock
pipeline test debug
* Avoid creating ignored exception when Idle or Failed.
* Try a parse without fill to avoid unconsumed input debug
* fixed pipeline size
* release buffer before callback
* turn off debug
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Better javadoc
refactored onWriteComplete logic to be simpler
fixed bug with flush of last written byte
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Completely reworked test harness for better coverage.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Reworked order of ifs to match logic above in onWriteComplete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Fixes#4421 - HttpClient support for PROXY protocol.
Implemented support for the PROXY protocol in HttpClient.
Introduced Request.tag(Object) to tag requests that belong
to the same group (e.g. a client address) so that they can
generate a different destination.
The tag object may implement ClientConnectionFactory.Decorator
so that it can decorate the HttpDestination ClientConnectionFactory
and therefore work both with and without forward proxy configuration.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Clean up CustomRequestLog and fix the handling of the %u code.
* Add test for logging of remote user with %u and %{d}u
* update javadoc to clarify that %u is only for servlet auth
* remove the prepended '?' when deferred authentication is checked
Fixed HttpInput to be in READY state if an error is detected
before the call to setWriteListener().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #4376 Async Content Complete
Added test harness to reproduce unready completing write.
Fixed test by not closing output prior to becoming READY
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
ERROR state still needs to be closed!
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
close after last blocking write
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
If completion has to do a flush, then we need a call to closed to
avoid leaking buffers.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
Reformat
Signed-off-by: Greg Wilkins <gregw@webtide.com>