CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 04 Sep 2025 17:05:23 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090518013805
location: https://web.archive.org/web/20090518013805/https://github.com/astrails/http_require/tree/
server-timing: captures_list;dur=1.061004, exclusion.robots;dur=0.043005, exclusion.robots.policy;dur=0.026595, esindex;dur=0.020158, cdx.remote;dur=310.580783, LoadShardBlock;dur=757.015005, PetaboxLoader3.datanode;dur=428.907178, PetaboxLoader3.resolve;dur=284.949560
x-app-server: wwwb-app28
x-ts: 302
x-tr: 1251
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app28; 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: Thu, 04 Sep 2025 17:05:24 GMT
content-type: text/html; charset=utf-8
content-length: 117
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Mon, 18 May 2009 01:38:04 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090518013805/https://github.com/astrails/http_require/tree/master
x-archive-orig-x-runtime: 301ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 117
cache-control: max-age=1800
memento-datetime: Mon, 18 May 2009 01:38:05 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 16 May 2009 19:05:02 GMT", ; rel="prev memento"; datetime="Sat, 16 May 2009 19:05:02 GMT", ; rel="memento"; datetime="Mon, 18 May 2009 01:38:05 GMT", ; rel="next memento"; datetime="Thu, 27 Aug 2009 02:45:52 GMT", ; rel="last memento"; datetime="Thu, 27 Aug 2009 02:45:52 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_9_20090517132205_crawl100-c/52_9_20090518013632_crawl101.arc.gz
server-timing: captures_list;dur=0.848420, exclusion.robots;dur=0.036057, exclusion.robots.policy;dur=0.021748, esindex;dur=0.015132, cdx.remote;dur=66.343632, LoadShardBlock;dur=533.989567, PetaboxLoader3.datanode;dur=316.392265, PetaboxLoader3.resolve;dur=360.797990, load_resource;dur=245.338909
x-app-server: wwwb-app28
x-ts: 301
x-tr: 919
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=4
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: Thu, 04 Sep 2025 17:05:28 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Mon, 18 May 2009 01:38:04 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 547ms
x-archive-orig-etag: "5072207adea74bc78a51ff932b62381c"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 22021
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 18 May 2009 01:38:05 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 15 May 2009 12:14:41 GMT", ; rel="prev memento"; datetime="Sat, 16 May 2009 17:32:19 GMT", ; rel="memento"; datetime="Mon, 18 May 2009 01:38:05 GMT", ; rel="next memento"; datetime="Thu, 27 Aug 2009 02:45:52 GMT", ; rel="last memento"; datetime="Thu, 27 Aug 2009 02:45:52 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_9_20090517132205_crawl100-c/52_9_20090518013632_crawl101.arc.gz
server-timing: captures_list;dur=0.877935, exclusion.robots;dur=0.040576, exclusion.robots.policy;dur=0.025589, esindex;dur=0.015177, cdx.remote;dur=287.895173, LoadShardBlock;dur=2653.908700, PetaboxLoader3.resolve;dur=2535.978306, PetaboxLoader3.datanode;dur=924.850792, load_resource;dur=1011.526100
x-app-server: wwwb-app28
x-ts: 200
x-tr: 4167
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
astrails's http_require 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 astrails-http_require
Description: | allow "require" from the web |
Clone URL: |
git://github.com/astrails/http_require.git
Give this clone URL to anyone.
git clone git://github.com/astrails/http_require.git
|
name | age | message | |
---|---|---|---|
![]() |
.document | Mon May 11 23:03:41 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
.gitignore | Wed Apr 01 19:56:46 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
LICENSE | Mon May 11 23:03:41 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
README.markdown | Mon May 11 23:22:27 -0700 2009 | note about stacktrace [vitaly] |
![]() |
Rakefile | Mon May 11 23:03:41 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
VERSION.yml | Mon May 11 23:03:41 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
examples/ | Mon May 11 23:03:41 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
http_require.gemspec | Mon May 11 23:03:41 -0700 2009 | Initial commit to http_require. [vitaly] |
![]() |
lib/ | Wed Apr 01 19:56:46 -0700 2009 | Initial commit to http_require. [vitaly] |
http_require
Idea
The idea is very simple: test.rb:
# this will download bar.rb and eval its content.
require "https://foo.com/bar.rb"
If a remote file (or one of its local dependencies) requires something that can't be found locally, it will try to find it remotely from the same location as the parent.
Example
https://example.com/test/foo.rb:
# this will load "https://example.com/test/foo/bar.rb"
# if "foo/bar" is not available locally
require "foo/bar"
stacktrace
http_require properly sets filename on eval so that the file's uri appears in the stacktrace:
foo.rb:
puts :foo
require 'bar'
def foo
bar
end
bar.rb
puts :bar
def bar
raise
end
$ irb
>> require 'http_require'
=> true
>> require 'https://localhost:2000/foo.rb'
foo
bar
=> nil
>> foo
RuntimeError:
from https://localhost:2000/bar.rb:3:in `bar'
from https://localhost:2000/foo.rb:5:in `foo'
from (irb):3
>>
Homepage
You can find the latest sources on [github]:(https://github.com/astrails/http_require)
Installation
sudo gem install astrails-http_require --source https://gems.github.com/
Copyright
Copyright (c) 2009 Vitaly Kushner. See LICENSE for details.
This feature is coming soon. Sit tight!