• Stars
    star
    207
  • Rank 189,769 (Top 4 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 7 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HTTP/2 implementation in Rust/tokio

rust-http2

GitHub Workflow Status License crates.io

HTTP/2 client and server implementation in Rust based on tokio.

Currently it is used as base for implementation of grpc-rust.

Example server

Checkout the source code and execute command:

cargo run --example server

Server will be available on https://localhost:8443/. You need any modern browser with HTTP/2 support to open the page (e. g. Firefox, Safari, Chrome).

Server only works over HTTP/2, if browser doesn't send HTTP/2 preface, server closes the connection.

Example client

cargo run --example client https://google.com/

Result is:

:status: 302
cache-control: private
content-type: text/html; charset=UTF-8
referrer-policy: no-referrer
location: https://www.google.ru/?gfe_rd=cr&ei=mZQ4WZfaGISDZOzOktgO
content-length: 257
date: Thu, 08 Jun 2017 00:04:41 GMT
alt-svc: quic=":443"; ma=2592000; v="38,37,36,35"

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="https://www.google.ru/?gfe_rd=cr&amp;ei=mZQ4WZfaGISDZOzOktgO">here</A>.
</BODY></HTML>

More Repositories

1

rust-protobuf

Rust implementation of Google protocol buffers
Rust
2,774
star
2

grpc-rust

Rust implementation of gRPC
Rust
1,376
star
3

rust-tls-api

TLS API for Rust, and API implementations over native-tls and openssl in separate crates
Rust
50
star
4

absh

Benchmarking with proper statistically significant output
Rust
10
star
5

learn-idris-pub

Public data for https://learn-idris.net/
Idris
9
star
6

rust-protoc-bin-vendored

Rust
9
star
7

no-mutex-c

C
9
star
8

netty-td

Java
8
star
9

protobuf-to-json

Java
7
star
10

blog

My blog (kind of)
5
star
11

mh-lang

DSL for constructing MethodHandles
Java
5
star
12

no-mutex

ะ”ะตะผะพ ะดะปั ัั‚ะฐั‚ัŒะธ "Concurrency without mutexes"
Java
5
star
13

rust-log-ndc

log crate extension with NDC-like functionality
Rust
5
star
14

rust-ide-rust

Patches for rust-ide
Rust
3
star
15

idris-sort

Idris
3
star
16

update-version

Update multiple crate versions (do not use)
Rust
2
star
17

rust-test-cert-gen

Utility to generate certificates for tests (for TLS)
Rust
2
star
18

junk

1
star
19

httpd-test-task

C++
1
star
20

ignore-cached

Bug repro
Rust
1
star
21

rust-unused-not-removed

Repro
Rust
1
star
22

cargo-should-not-delete-bin

Rust
1
star
23

cargo-build-rs-twice

Rust
1
star
24

clay-json

json implementation for clay
1
star
25

perftest-rust

Rust
1
star
26

repr-1

Rust
1
star
27

textarea-autosize-blink

TypeScript
1
star
28

cargo-bug-tmp-1

Rust
1
star
29

clay-curl

curl binding for clay
Shell
1
star
30

rust-hashmap-like-cpp

Rust
1
star
31

random-pg

Rust
1
star
32

fsevent-dump

Rust
1
star
33

gh-actions-gen

Generate GitHub actions
Rust
1
star
34

exact-versions

Rust
1
star
35

around-zero

Rust
1
star
36

rust-cannot-infer-type

Rust
1
star
37

h2-hang

Rust
1
star
38

ordinal-map

Map types to integers
Rust
1
star