Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

The rack example does not work because of Rack::Lint::LintError #267

Closed
Closed
The rack example does not work because of Rack::Lint::LintError#267

Description

Overview

The rack example does not work due to it causes Rack::Lint::LintError: uppercase character in header name: Content-Type.
The reason is the breaking change for HTTP/2 at Rack 3.0.0.

Response header keys can no longer include uppercase characters.

References

Environment

Here is my environment.

> ruby --version
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

Gemfile.lock

PATH
remote: ../..
specs:
prometheus-client (4.0.0)

GEM
remote: https://rubygems.org/
specs:
kgio (2.11.4)
rack (3.0.1)
raindrops (0.20.0)
unicorn (6.1.0)
kgio (~> 2.6)
raindrops (~> 0.7)

PLATFORMS
x86_64-linux

DEPENDENCIES
prometheus-client!
rack
unicorn

BUNDLED WITH
2.3.26

The error details

After curl http://localhost:5000

' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/unicorn:25: in `load' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/unicorn:25: in `' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli/exec.rb:58:in `load' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli/exec.rb:58:in `kernel_load' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli/exec.rb:23:in `run' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli.rb:486:in `exec' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli.rb:31:in `dispatch' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli.rb:25:in `start' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/bundler-2.3.26/exe/bundle:48:in `block in ' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/friendly_errors.rb:120:in `with_friendly_errors' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/bundler-2.3.26/exe/bundle:36:in `' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/bundle:25:i n `load' /home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/bundle:25:i n `
' 127.0.0.1 - - [19/Nov/2022:23:20:40 +0900] "GET / HTTP/1.1" 500 82929 0.0159"> bundle exec unicorn -c ./unicorn.conf
I, [2022-11-19T23:20:37.816093 #91195] INFO -- : Refreshing Gem list
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/rack-3.0.1/lib/rack/chunked.rb:6: warning: Rack::Chunked is deprecated and will be remove
d in Rack 3.1
I, [2022-11-19T23:20:37.834067 #91195] INFO -- : listening on addr=0.0.0.0:5000 fd=7
I, [2022-11-19T23:20:37.834157 #91195] INFO -- : worker=0 spawning...
I, [2022-11-19T23:20:37.834850 #91195] INFO -- : master process ready
I, [2022-11-19T23:20:37.835144 #91210] INFO -- : worker=0 spawned pid=91210
I, [2022-11-19T23:20:37.835328 #91210] INFO -- : worker=0 ready
Rack::Lint::LintError: uppercase character in header name: Content-Type
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/lint.rb:653:in `block in check_headers'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/lint.rb:637:in `each'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/lint.rb:637:in `check_headers'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/lint.rb:73:in `response'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/lint.rb:35:in `call'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/show_exceptions.rb:27:in `call'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/common_logger.rb:43:in `call'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/chunked.rb:102:in `call'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/rack-3.0.1/lib/rack/content_length.rb:20:in `call'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/unicorn-6.1.0/bin/unicorn:128:in `'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/unicorn:25: in `load'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/unicorn:25: in `'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli/exec.rb:58:in `load'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli/exec.rb:58:in `kernel_load'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli/exec.rb:23:in `run'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli.rb:486:in `exec'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli.rb:31:in `dispatch'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/cli.rb:25:in `start'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/bundler-2.3.26/exe/bundle:48:in `block in '
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/site_r uby/3.1.0/bundler/friendly_errors.rb:120:in `with_friendly_errors'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3 .1.0/gems/bundler-2.3.26/exe/bundle:36:in `'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/bundle:25:i n `load'
/home/mopp/.anyenv/envs/rbenv/versions/3.1.2/bin/bundle:25:i n `
'
127.0.0.1 - - [19/Nov/2022:23:20:40 +0900] "GET / HTTP/1.1" 500 82929 0.0159

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions