Example HTTP/2 server implemented in Python
Deploy the app
export DOMAIN=my.cf.app.domain
cf push -f app-manifest.yml --var domain=$DOMAIN
cf push --no-route ruby-http2-test --buildpack https://github.com/cloudfoundry/ruby-buildpack
# my.cf.app.domain is used as an example for demonstration purpose
cf map-route ruby-http2-test my.cf.app.domain --hostname ruby-http2-test --app-protocol http2
curl -v --http2-prior-knowledge https://ruby-http2-test.my.cf.app.domain
The app supports HTTP/1.1 and HTTP/2 H2C if requested explicitly, i.e. no connection upgrade.
bundle install --path vendor/bundle
PORT=8080 bundle exec ruby server.rb
curl -v --http2-prior-knowledge http://localhost:8080