Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • c78f6b3
  • /
  • demos
  • /
  • http3
  • /
  • README.md
Raw File
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:e193aa13c1e6076cd1beadae58723e32715254d9
directory badge Iframe embedding
swh:1:dir:9c1f3674a13a6fad8e5bc1660ef77cfcb89b3683
README.md
HTTP/3 Demo using OpenSSL QUIC and nghttp3
==========================================

This is a simple demo of how to use HTTP/3 with OpenSSL QUIC using the HTTP/3
library “[nghttp3](https://github.com/ngtcp2/nghttp3)”.

The demo is structured into two parts:

- an adaptation layer which binds nghttp3 to OpenSSL's QUIC implementation
  (`ossl-nghttp3.c`);
- a simple application which makes an HTTP/3 request using this adaptation
  layer (`ossl-nghttp3-demo.c`).

The Makefile in this directory can be used to build the demo on \*nix-style
systems.  You will need the `nghttp3` library and header file.  On
Ubuntu, these can be obtained by installing the package `libnghttp3-dev`.

Running the Demo
----------------

Depending on your system configuration it may be necessary to set the
`SSL_CERT_FILE` or `SSL_CERT_DIR` environment variables to a location where
trusted root CA certificates can be found.

After building by running `make`, run `./ossl-nghttp3-demo` with a hostname and
port as the sole argument:

```shell
$ make
$ LD_LIBRARY_PATH=../.. ./ossl-nghttp3-demo www.google.com:443
```

The demo produces the HTTP response headers in textual form as output followed
by the response body.

See Also
--------

- [nghttp3](https://github.com/ngtcp2/nghttp3)

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top