Commit Graph

705 Commits

Author SHA1 Message Date
Oleg Kalnichevski 9941fde19e Upgraded HC StyleCheck to version 3; fixed style-check violations (no functional changes) 2024-10-01 11:08:03 +02:00
Arturo Bernal db623f8854 HTTPCLIENT-2337: Sanitize X500Principal Logging in ClientTlsStrategy classes (#581)
* HTTPCLIENT-2337: Add sanitizeX500Principal method to escape control characters in X500Principal. Escapes ISO control characters in X500Principal using hexadecimal representation.

* Remove "Escaped" from debug log message

* Use a single call to append() for each character in toEscapedString()

---------

Co-authored-by: Gary Gregory <garydgregory@users.noreply.github.com>
2024-10-01 11:08:01 +02:00
Oleg Kalnichevski 238e73a73c Upgraded HttpClient version to 5.5-alpha1-SNAPSHOT 2024-10-01 11:07:38 +02:00
Oleg Kalnichevski 3b5c815f5c HTTPCLIENT-2338: put compress exec interceptor after retry exec interceptor 2024-09-12 15:35:47 +02:00
Gary Gregory d9a78ce076 Javadoc and reduce boilerplate
- Use final
- package-private methods can throw more precise exception
- Add missing Javadoc comments
- Use lambdas
- Better StringBuilder allocation
- Make private final class a static class
- Make private instance variable final in test
- Single lambda parameter does not need parentheses
- Package-private class constructor can be package-private
2024-09-12 14:47:02 +02:00
Gary Gregory 25f080f307 Private method does not throw checked exception
- Remove it from the private method signatures
- Remove exception handling no longer needed
- Add missing @Override
- No need to nest in an else clause (reduce clutter)
- Use ternary expression
- public methods in a package-private class can be package-private
2024-08-26 11:29:09 -04:00
Gary Gregory a1eed8084d Javadoc
- Remove redundant parentheses
- No need to nest into else clause
- Add missing @Override
2024-08-26 10:49:26 -04:00
Gary Gregory 648690fdfd Includes a copy of in
https://publicsuffix.org/list/effective_tld_names.dat
in httpclient5/src/test/resources/org/publicsuffix/list/effective_tld_names.dat

Cleanly separate the concerns of which file to copy and whether to
filter it or not by using two <resource> elements:

- We want the .properties file copied and filtered. The git master
version causes only the properties file to be copied, the .dat file is
not copied.
- We want to the .dat file copied but not filtered.
2024-08-25 13:07:59 -04:00
dependabot[bot] fc1bae5596 Bump com.googlecode.maven-download-plugin:download-maven-plugin
Bumps [com.googlecode.maven-download-plugin:download-maven-plugin](https://github.com/maven-download-plugin/maven-download-plugin) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/maven-download-plugin/maven-download-plugin/releases)
- [Commits](https://github.com/maven-download-plugin/maven-download-plugin/compare/1.8.1...1.9.0)

---
updated-dependencies:
- dependency-name: com.googlecode.maven-download-plugin:download-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-23 08:40:28 -04:00
Gary Gregory 044a71755c Fix file handle leak in TestPublicSuffixMatcher
- Add message to assertion
- Use tryt-with-resources
2024-08-23 08:23:59 -04:00
Gary Gregory 883dbe3ce7 Javadoc improvements 2024-08-22 18:14:42 -04:00
Gary Gregory 01c478b7d8 DeflateInputStream extends FilterInputStream
- Reduces boilerplate
- Improve Javadoc
- Internal static class can be private
- Reuse constant Deflater.DEFLATED
2024-08-22 08:10:28 -04:00
Oleg Kalnichevski bc9d925c84 HTTPCLIENT-2335: Added #close method with CloseMode parameter to CloseableHttpResponse 2024-08-20 14:14:58 +02:00
Oleg Kalnichevski ec4da301bc HTTPCLIENT-2336: Corrected hostname identity verification logic 2024-08-19 17:40:30 +02:00
Adrian Woodhead 715ec11060 HTTPCLIENT-2336: Updated PublicSuffixMatcher to use 'formal algorithm' as specified https://github.com/publicsuffix/list/wiki/Format#formal-algorithm 2024-08-19 17:38:10 +02:00
Gary Gregory 66a355c991 Reimplement LoggingInputStream as a FilterInputStream
- No need to track delegate, it's in super
- Constructor shouldn't be public since the class is package-private
- Normalize message in available() to match other methods
- Inherit mark/reset behavior which we don't use anyway
- skip() uses "in" like other methods for consistency
2024-08-18 16:40:26 -04:00
Gary Gregory bc9f902bc0 Javadoc improvements
- No need to use a FQCN when the name is already importted
- Import type instead of using a FQCN
- Use camel-case in paramerter name
- Add missing Javadoc
- Add some missing return tags
- Close some HTML tags
- Fix some comments
- Update Javadoc links
2024-08-17 14:27:07 -04:00
Gary Gregory 75aabd7f62 Javadoc improvements
- No need to use a FQCN when the name is already importted
- Import type instead of using a FQCN
- Use camel-case in paramerter name
- Add missing Javadoc
- Add some missing return tags
- Close some HTML tags
- Fix some comments
- Update Javadoc links
2024-08-17 11:20:08 -04:00
Gary Gregory d05f4c5c8c Replace ternary with Objects.toString() 2024-08-17 10:24:37 -04:00
Gary Gregory 71062ea164 Replace ternary with String.valueOf() 2024-08-17 10:24:12 -04:00
Gary Gregory 2dafdca160 Input streams returned by DecompressingEntity.getContent() should
support mark(int) and reset() if the underlying stream does

- Pass calls to the underlying InputStream for mark(int)
- Pass calls to the underlying InputStream for reset()
- LazyDecompressingInputStream extends FilterInputStream
- Reimplement internals fluently
- Reuse Closer.close(Closeable)
- Tested locally with git master 5.3-beta2-SNAPSHOT
2024-08-17 10:15:22 -04:00
Oleg Kalnichevski d7ed56894a Improved FQDN matching 2024-08-16 17:02:19 +02:00
Oleg Kalnichevski a61f60b4bd HTTPCLIENT-2333: update execution scope upon request redirect in order to avoid re-execution of the original request in case of an i/o error 2024-08-05 16:55:39 +02:00
otavio.prado df5ab533af added LaxRedirectStrategy from 4.x 2024-08-03 17:08:51 +02:00
Oleg Kalnichevski 97247f0c8c Added example of manual connection release 2024-07-15 11:32:21 +02:00
strangelookingnerd cc13243cd3 Minor code cleanup 2024-06-27 23:11:05 +02:00
strangelookingnerd 420910da4f Fix assertions 2024-06-27 23:11:05 +02:00
strangelookingnerd 185d4e32aa Test classes and methods should have default package visibility 2024-06-27 23:11:05 +02:00
Oleg Kalnichevski e45345876e Use CompletedFuture from core 2024-06-27 09:54:40 +02:00
Oleg Kalnichevski a0bf57b837 Upgraded HttpClient version to 5.4-beta2-SNAPSHOT 2024-06-26 14:15:11 +02:00
Oleg Kalnichevski ee0a102104 HTTPCLIENT-2328: Blocking i/o connections to check if the opposite TLS endpoint has been closed by the opposite endpoint while writing out request body 2024-06-22 17:20:59 +02:00
Oleg Kalnichevski 10e8a7acbc Replaced deprecated functionality 2024-06-22 15:22:34 +02:00
Oleg Kalnichevski 1cd7f8f2d0 Moved test cases that require an embedded test server to the integration test module 2024-06-21 11:06:57 +02:00
Oleg Kalnichevski 034cd65aa5 Redesign of test server APIs and integration test setup 2024-06-21 10:49:11 +02:00
Arturo Bernal 336263da6c
Fix HTTPCLIENT-2331: Skip cookie header generation if a Cookie header is already present (#561)
This fix ensures that if a Cookie header is already present in the request, HttpClient skips adding additional Cookie headers from the BasicCookieStore.
2024-06-20 08:05:55 +02:00
Gary Gregory 4c42c70a51 Tokenizer is immutable and thread safe, so reuse it. 2024-06-10 18:27:21 -04:00
Gary Gregory 225edf5ea8 Javadoc singleton versus default instances 2024-06-10 18:21:36 -04:00
Oleg Kalnichevski 215571a0bd HTTPCLIENT-2326: Propagate original proxy response to the caller in case of HTTP CONNECT request failure 2024-06-06 14:32:33 +02:00
Oleg Kalnichevski def10b4c77 Javadoc correction 2024-06-05 14:44:49 +02:00
Gary Gregory ebd5d87340 Use the same spacing in log message as other entries 2024-05-22 13:51:16 -04:00
Gary Gregory 15b93d481b Javadoc
- Add generic type documentation
- Add parameter documentation
2024-05-22 13:49:54 -04:00
Oleg Kalnichevski a0a38afbee Made handling of refused tunnel exception consistent between the classic and async protocol handler implementations; Proxy response body no longer gets buffered in memory in order to avoid excessive resource allocation in case of a proxy misbehavior 2024-04-25 10:54:36 +02:00
Richard Tippl 5eb15a1be4 Callbacks for Connection initialization 2024-04-09 15:00:15 +02:00
Gary Gregory 17142a7e74 Add missing Javadoc tag 2024-04-03 08:04:19 -04:00
Gary Gregory c33f8ab4ac Add unit test for InMemoryDnsResolver 2024-04-02 10:48:44 -04:00
Vladimir Sitnikov 3b9bc89c26 HTTPCLIENT-2325 Avoid adding "; charset=" for multipart/form-data requests
Previusly, "charset" parameter was added to the Content-Type header, however adding "charset=..."
is not specified in RFC 7578, and it causes issues with (flawed?) HTTP servers.

The change does not modify ContentType.MULTIPART_FORM_DATA, and it might have backward compatibility
side-effects.

See
* https://github.com/apache/jmeter/issues/6250
* 6e56950cdf
* https://bz.apache.org/bugzilla/show_bug.cgi?id=61384
* https://github.com/akka/akka-http/issues/338
2024-03-18 19:05:12 +01:00
dependabot[bot] ccff40612c Bump com.googlecode.maven-download-plugin:download-maven-plugin
Bumps [com.googlecode.maven-download-plugin:download-maven-plugin](https://github.com/maven-download-plugin/maven-download-plugin) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/maven-download-plugin/maven-download-plugin/releases)
- [Commits](https://github.com/maven-download-plugin/maven-download-plugin/compare/1.7.1...1.8.1)

---
updated-dependencies:
- dependency-name: com.googlecode.maven-download-plugin:download-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 13:20:28 +01:00
Oleg Kalnichevski ccfb674a1e Upgraded HttpClient version to 5.4-alpha3-SNAPSHOT 2024-03-11 09:39:26 +01:00
Oleg Kalnichevski eb6fd6b1c2 HttpClientContext and HttpCacheContext to use instance variables for standard attributes 2024-02-29 17:12:35 +01:00
Oleg Kalnichevski 762b18fe69 HttpClientContext to use instance variables for standard attributes 2024-02-29 17:12:35 +01:00