blob: 37a8707bae76d0863902f842df24d1645aae5d89 [file] [log] [blame]
~~ ====================================================================
~~ 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/ClassicGetExecutionExample.java}
Classic (blocking) HTTP/1.1 GET requests}}
This example demonstrates synchronous execution of multiple HTTP/1.1 GET requests.
* {{{./httpcore5/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/AsyncRequestExecutionExample.java}
Asynchronous HTTP/1.1 GET requests}}
This example demonstrates asynchronous execution of multiple HTTP/1.1 requests.
* {{{./httpcore5-h2/examples/Http2RequestExecutionExample.java}
Asynchronous HTTP/2 GET requests}}
This example demonstrates asynchronous execution of multiple HTTP/2 requests.
* {{{./httpcore5-h2/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/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/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/Http2MultiStreamExecutionExample.java}
Asynchronous HTTP/2 GET requests with multiple concurrent streams}}
This example demonstrates asynchronous, multistream execution of multiple HTTP/2 requests.
* {{{./httpcore5/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/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/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/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/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/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/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/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/ReactiveFullDuplexServerExample.java}
Server Reactive Streams}}
This is an example of full-duplex HTTP/1.1 server side message exchanges using reactive streaming.