dancavallaro / rack-requestid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rack::RequestID, a Rack middleware for generating request IDs

This is a simple middleware that will generate a request GUID if one was not already provided by the client or platform.

A request ID can be specified in the request (by the client or platform) by setting the X-Request-Id header, and it will be available to other middleware via the HTTP_X_REQUEST_ID key in the Rack environment hash. If a request ID was not provided, Rack::RequestID will generate one and insert it into the Rack environment. It will also insert the request ID into the X-Request-Id header of the response.

Configuration

To use Rack::RequestID, add the following to your Gemfile:

gem 'rack-requestid'

Then in config.ru:

use Rack::RequestID

Use Rack::RequestID before any middleware that needs a request ID.

There are a few options you can pass in:

  • :include_response_header determines whether to include the request ID in a response header.
  • :overwrite can be enabled to overwrite any request ID provided by the platform or client.
  • :generator can be specified to provide a custom request ID generator.

If you want to modify the options used, simply do:

use Rack::RequestID, :include_response_header => false, :generator => lambda { "#{Time.now.getutc.to_i}" }

About


Languages

Language:Ruby 100.0%