| ~~ ==================================================================== |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| ~~ ==================================================================== |
| ~~ |
| ~~ This software consists of voluntary contributions made by many |
| ~~ individuals on behalf of the Apache Software Foundation. For more |
| ~~ information on the Apache Software Foundation, please see |
| ~~ <http://www.apache.org/>. |
| |
| ---------- |
| HttpComponents HttpCore Examples |
| ---------- |
| ---------- |
| ---------- |
| |
| HttpCore Examples |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/ClassicGetExecutionExample.java} |
| Classic (blocking) HTTP/1.1 GET requests}} |
| |
| This example demonstrates synchronous execution of multiple HTTP/1.1 GET requests. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/ClassicPostExecutionExample.java} |
| Classic (blocking) HTTP/1.1 POST requests}} |
| |
| This example demonstrates synchronous execution of multiple HTTP/1.1 POST requests with enclosed |
| content of various types. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/AsyncRequestExecutionExample.java} |
| Asynchronous HTTP/1.1 GET requests}} |
| |
| This example demonstrates asynchronous execution of multiple HTTP/1.1 requests. |
| |
| * {{{./httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2RequestExecutionExample.java} |
| Asynchronous HTTP/2 GET requests}} |
| |
| This example demonstrates asynchronous execution of multiple HTTP/2 requests. |
| |
| * {{{./httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2TlsAlpnRequestExecutionExample.java} |
| HTTP/2 requests over TLS connections with ALPN support}} |
| |
| This example demonstrates how to execute HTTP/2 requests over TLS connections with ALPN support. |
| It also explains how to avoid the illegal reflective access operation warning when running |
| Java 9 or older. |
| |
| * {{{./httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2ConscriptRequestExecutionExample.java} |
| HTTP/2 requests over TLS connections with ALPN support on Java 1.7 and Java 1.8}} |
| |
| This example demonstrates how to execute HTTP/2 requests over TLS connections with ALPN support |
| on Java 1.7 and Java 1.8. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/AsyncPipelinedRequestExecutionExample.java} |
| Asynchronous HTTP/1.1 GET requests with message pipelining}} |
| |
| This example demonstrates asynchronous, pipelined execution multiple HTTP/1.1 requests. |
| |
| * {{{./httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2MultiStreamExecutionExample.java} |
| Asynchronous HTTP/2 GET requests with multiple concurrent streams}} |
| |
| This example demonstrates asynchronous, multistream execution of multiple HTTP/2 requests. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/ClassicFileServerExample.java} |
| Classic (blocking) HTTP/1.1 file server}} |
| |
| This is an example of an embedded HTTP/1.1 file server with a classic (blocking) message transport. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/ClassicServerFilterExample.java} |
| Request filters with classic (blocking) HTTP/1.1 server}} |
| |
| This is an example of using synchronous request filters with an embedded HTTP/1.1 server. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/AsyncFileServerExample.java} |
| Asynchronous HTTP/1.1 file server}} |
| |
| This is an example of an embedded HTTP/1.1 file server with an event driven, non-blocking message transport. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/AsyncServerFilterExample.java} |
| Request filters with asynchronous HTTP/1.1 server}} |
| |
| This is an example of using asynchronous request filters with an embedded HTTP/1.1 server. |
| |
| * {{{./httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2FileServerExample.java} |
| Asynchronous HTTP/2 file server}} |
| |
| This is an example of an embedded HTTP/2 file server with an event driven, non-blocking message transport. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/ClassicReverseProxyExample.java} |
| Classic (blocking) HTTP reverse proxy}} |
| |
| This is an example of an embedded HTTP/1.1 reverse proxy with a classic (blocking) message transport. |
| |
| * {{{./httpcore5/examples/org/apache/hc/core5/http/examples/AsyncReverseProxyExample.java} |
| Asynchronous HTTP reverse proxy}} |
| |
| This is an example of an embedded HTTP/1.1 reverse proxy with an event driven, non-blocking message transport. |
| |
| HttpCore Reactive Streams Examples |
| |
| * {{{./httpcore5-reactive/examples/org/apache/hc/core5/reactive/examples/ReactiveFullDuplexClientExample.java} |
| Client Reactive Streams}} |
| |
| This is an example of full-duplex HTTP/1.1 client side message exchanges using reactive streaming. |
| |
| * {{{./httpcore5-reactive/examples/org/apache/hc/core5/reactive/examples/ReactiveFullDuplexServerExample.java} |
| Server Reactive Streams}} |
| |
| This is an example of full-duplex HTTP/1.1 server side message exchanges using reactive streaming. |