CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sun, 17 Aug 2025 09:11:44 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090703005220
location: https://web.archive.org/web/20090703005220/https://github.com/rtomayko/rack-contrib/tree
server-timing: captures_list;dur=0.801621, exclusion.robots;dur=0.029843, exclusion.robots.policy;dur=0.013923, esindex;dur=0.014218, cdx.remote;dur=126.235211, LoadShardBlock;dur=170.581002, PetaboxLoader3.datanode;dur=60.763404, PetaboxLoader3.resolve;dur=56.692651
x-app-server: wwwb-app217
x-ts: 302
x-tr: 329
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app217; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Sun, 17 Aug 2025 09:11:45 GMT
content-type: text/html; charset=utf-8
content-length: 117
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Fri, 03 Jul 2009 00:52:20 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090703005220/https://github.com/rtomayko/rack-contrib/tree/master
x-archive-orig-x-runtime: 39ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 117
cache-control: max-age=1800
memento-datetime: Fri, 03 Jul 2009 00:52:20 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 25 Dec 2008 12:55:06 GMT", ; rel="prev memento"; datetime="Sat, 25 Apr 2009 12:14:47 GMT", ; rel="memento"; datetime="Fri, 03 Jul 2009 00:52:20 GMT", ; rel="next memento"; datetime="Wed, 02 Sep 2009 11:39:23 GMT", ; rel="last memento"; datetime="Wed, 02 Sep 2009 11:39:23 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_10_20090702232939_crawl101.gpg-c/52_10_20090703005141_crawl101.arc.gz
server-timing: captures_list;dur=0.442127, exclusion.robots;dur=0.016764, exclusion.robots.policy;dur=0.007650, esindex;dur=0.009181, cdx.remote;dur=7.431423, LoadShardBlock;dur=180.736752, PetaboxLoader3.resolve;dur=381.856361, PetaboxLoader3.datanode;dur=100.126401, load_resource;dur=337.687332
x-app-server: wwwb-app217
x-ts: 301
x-tr: 550
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Sun, 17 Aug 2025 09:11:45 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Fri, 03 Jul 2009 00:52:20 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 352ms
x-archive-orig-etag: "64bc89148f6a863266f3f9424f85b7bd"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 25316
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Fri, 03 Jul 2009 00:52:20 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 18 Dec 2008 11:24:44 GMT", ; rel="prev memento"; datetime="Wed, 29 Apr 2009 07:33:50 GMT", ; rel="memento"; datetime="Fri, 03 Jul 2009 00:52:20 GMT", ; rel="next memento"; datetime="Sat, 01 Aug 2009 12:16:43 GMT", ; rel="last memento"; datetime="Sat, 04 Nov 2017 00:00:34 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_10_20090702232939_crawl101.gpg-c/52_10_20090703005141_crawl101.arc.gz
server-timing: captures_list;dur=0.417233, exclusion.robots;dur=0.016233, exclusion.robots.policy;dur=0.007687, esindex;dur=0.009371, cdx.remote;dur=7.031254, LoadShardBlock;dur=213.093517, PetaboxLoader3.datanode;dur=96.342774, PetaboxLoader3.resolve;dur=191.204216, load_resource;dur=84.999196
x-app-server: wwwb-app217
x-ts: 200
x-tr: 355
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
rtomayko's rack-contrib at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Run the following if you haven't already:
gem sources -a https://gems.github.com
Install the gem(s):
sudo gem install rtomayko-rack-contrib
Description: | Moved to https://github.com/rack/rack-contrib/ edit |
Homepage: | https://github.com/rack/rack-contrib/ edit |
Public Clone URL: |
git://github.com/rtomayko/rack-contrib.git
Give this clone URL to anyone.
git clone git://github.com/rtomayko/rack-contrib.git
|
Your Clone URL: |
Use this clone URL yourself.
git clone git@github.com:rtomayko/rack-contrib.git
|

Ryan Tomayko (author)
Sat Jan 10 18:03:22 -0800 2009
commit e24eeb7f8f9c2d348c67d7e2e5378bdf020a2b6a
tree 6d0bfbd9d1955b54c9f045a91f3ecea12b9e585b
parent af0d3d137bc39f13221bf16130628b007f007cd2
tree 6d0bfbd9d1955b54c9f045a91f3ecea12b9e585b
parent af0d3d137bc39f13221bf16130628b007f007cd2
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Mon Dec 08 21:22:46 -0800 2008 | Add gemspec for github builds and clean up Rake... [Ryan Tomayko] |
![]() |
COPYING | Sun Nov 30 21:28:09 -0800 2008 | boilerplate files; rack/contrib.rb and spec_rac... [Ryan Tomayko] |
![]() |
DEAD | Sat Jan 10 18:04:40 -0800 2009 | rtomayko's rack-contrib is DEAD See: https://... [Ryan Tomayko] |
![]() |
README.rdoc | Tue Dec 09 10:38:28 -0800 2008 | ContentLength has been merged into rack core '5... [josh] |
![]() |
Rakefile | Loading commit data... ![]() |
|
![]() |
lib/ | ||
![]() |
rack-contrib.gemspec | Tue Dec 09 14:30:10 -0800 2008 | Remove content length from gemspec [jeremy] |
![]() |
test/ |
Contributed Rack Middleware and Utilities
This package includes a variety of add-on components for Rack, a Ruby web server interface:
- Rack::ETag - Automatically sets the ETag header on all String bodies.
- Rack::JSONP - Adds JSON-P support by stripping out the callback param and padding the response with the appropriate callback format.
- Rack::LighttpdScriptNameFix - Fixes how lighttpd sets the SCRIPT_NAME and PATH_INFO variables in certain configurations.
- Rack::Locale - Detects the client locale using the Accept-Language request header and sets a rack.locale variable in the environment.
- Rack::MailExceptions - Rescues exceptions raised from the app and sends a useful email with the exception, stacktrace, and contents of the environment.
- Rack::PostBodyContentTypeParser - Adds support for JSON request bodies. The Rack parameter hash is populated by deserializing the JSON data provided in the request body when the Content-Type is application/json.
- Rack::Profiler - Uses ruby-prof to measure request time.
- Rack::Sendfile - Enables X-Sendfile support for bodies that can be served from file.
- Rack::TimeZone - Detects the clients timezone using JavaScript and sets a variable in Rack’s environment with the offset from UTC.
Use
Git is the quickest way to the rack-contrib sources:
git clone git://github.com/rtomayko/rack-contrib.git
Gems are currently available from GitHub clones:
gem install rtomayko-rack-contrib --source=https://gems.github.com/
Requiring ‘rack/contrib’ will add autoloads to the Rack modules for all of the components included. The following example shows what a simple rackup (+config.ru+) file might look like:
require 'rack' require 'rack/contrib' use Rack::Profiler if ENV['RACK_ENV'] == 'development' use Rack::ETag use Rack::MailExceptions run theapp
Links
rack-contrib on GitHub: | <github.com/rtomayko/rack-contrib> |
Rack: | <rack.rubyforge.org/> |
Rack On GitHub: | <github.org/chneukirchen/rack> |
rack-devel mailing list: | <groups.google.com/group/rack-devel> |
This feature is coming soon. Sit tight!