<commit_before>h1. Introduction

*Update* I've been asked to integrate the functionality for this project into httpclient. The relevant ticket may be found here:
https://issues.apache.org/jira/browse/HTTPCLIENT-1307. I have a github fork of httpclient with the code that will be integrated on the futureclient branch: https://github.com/jillesvangurp/httpclient/tree/futureclient.

*Because of this, I will likely not make any further commits to this repository.* 

Httpclient is a very useful framework that allows you to write well performing applications that use large amounts of connections to other servers. One of our use cases that motivated the creation of this project is using it to make web service calls to backend servers from a front-end server. The number of calls per request varies enormously and the duration per call varies as well. To ensure nice behavior under load, it is sometimes necessary to cancel calls. Additionally, we need to be able to set timeouts on calls. Finally, we want to be able to keep detailed metrics about our external requests and measure things like request duration, response times, number of failures, number of scheduled connections, number of active connections, etc.
<commit_msg>add note about new FutureRequestExecutionService in httpclient 4.3<commit_after>h1. Introduction

*Update* I've been asked to integrate the functionality for this project into httpclient. The code for this is available in httpclient 4.3 Beta 1. The relevant class is called FutureRequestExecutionService and it includes most of the relevant functionality that is provided by this project.

*Because of this, I will likely not make any further commits to this repository.* 

Httpclient is a very useful framework that allows you to write well performing applications that use large amounts of connections to other servers. One of our use cases that motivated the creation of this project is using it to make web service calls to backend servers from a front-end server. The number of calls per request varies enormously and the duration per call varies as well. To ensure nice behavior under load, it is sometimes necessary to cancel calls. Additionally, we need to be able to set timeouts on calls. Finally, we want to be able to keep detailed metrics about our external requests and measure things like request duration, response times, number of failures, number of scheduled connections, number of active connections, etc.

{'fraction_non_alphanumeric': 0.03216612377850163, 'fraction_numerical': 0.004478827361563518, 'mean_word_length': 4.836104513064133, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1013413', 'n_tokens_mistral': 532, 'n_tokens_neox': 518, 'n_words': 371}