module Rack::Request::Env

def fetch_header(name, &block)

on the request.
If a block is given, it yields to the block if the value hasn't been set
def fetch_header(name, &block)
  @env.fetch(name, &block)
end