| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 14 Jan 2026 16:54:32 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100704192247
location: https://web.archive.org/web/20100704192247/https://www.fabjs.org/
server-timing: captures_list;dur=0.725217, exclusion.robots;dur=0.064918, exclusion.robots.policy;dur=0.030628, esindex;dur=0.013409, cdx.remote;dur=43.001457, LoadShardBlock;dur=251.952478, PetaboxLoader3.datanode;dur=74.403342, PetaboxLoader3.resolve;dur=147.987499
x-app-server: wwwb-app219-dc8
x-ts: 302
x-tr: 324
server-timing: TR;dur=0,Tw;dur=298,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app219; path=/
x-location: All
x-as: 14061
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 302
server: nginx
date: Wed, 14 Jan 2026 16:54:33 GMT
content-type: text/html; charset=UTF-8
content-length: 0
x-archive-orig-server: nginx
x-archive-orig-date: Sun, 04 Jul 2010 17:21:00 GMT
x-archive-orig-connection: close
x-archive-orig-x-powered-by: PHP/5.3.2
location: https://web.archive.org/web/20100704192247/https://github.com/jed/fab
x-archive-orig-content-length: 0
cache-control: max-age=1800
memento-datetime: Sun, 04 Jul 2010 19:22:47 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
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: 51_16_20100704164940_crawl103_IndexOnly-c/51_16_20100704192218_crawl100.arc.gz
server-timing: captures_list;dur=0.519693, exclusion.robots;dur=0.020035, exclusion.robots.policy;dur=0.007954, esindex;dur=0.011657, cdx.remote;dur=114.999352, LoadShardBlock;dur=158.363339, PetaboxLoader3.datanode;dur=103.454828, load_resource;dur=142.396294, PetaboxLoader3.resolve;dur=61.717714
x-app-server: wwwb-app219-dc8
x-ts: 302
x-tr: 444
server-timing: TR;dur=0,Tw;dur=249,Tc;dur=0
x-location: All
x-as: 14061
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 302
server: nginx
date: Wed, 14 Jan 2026 16:54:34 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100626034718
location: https://web.archive.org/web/20100626034718/https://github.com/jed/fab
server-timing: captures_list;dur=0.893899, exclusion.robots;dur=0.027937, exclusion.robots.policy;dur=0.010731, esindex;dur=0.019255, cdx.remote;dur=178.320955, LoadShardBlock;dur=389.943683, PetaboxLoader3.datanode;dur=182.142705, PetaboxLoader3.resolve;dur=127.939347
x-app-server: wwwb-app219-dc8
x-ts: 302
x-tr: 709
server-timing: TR;dur=0,Tw;dur=275,Tc;dur=0
x-location: All
x-as: 14061
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: Wed, 14 Jan 2026 16:54:35 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sat, 26 Jun 2010 03:47:12 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "f877ac5a01a14411658b7c38446a0d2b"
x-archive-orig-x-runtime: 50ms
x-archive-orig-content-length: 23438
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sat, 26 Jun 2010 03:47:18 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
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_16_20100626024044_crawl102-c/52_16_20100626034715_crawl101.arc.gz
server-timing: captures_list;dur=0.529521, exclusion.robots;dur=0.018527, exclusion.robots.policy;dur=0.008092, esindex;dur=0.011234, cdx.remote;dur=73.779335, LoadShardBlock;dur=414.730956, PetaboxLoader3.datanode;dur=164.273781, PetaboxLoader3.resolve;dur=183.200022, load_resource;dur=223.541189
x-app-server: wwwb-app219-dc8
x-ts: 200
x-tr: 785
server-timing: TR;dur=0,Tw;dur=187,Tc;dur=0
x-location: All
x-as: 14061
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
jed's fab at master - GitHub
jed / fab
- Source
- Commits
- Network (15)
- Issues (0)
- Downloads (2)
- Wiki (4)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
fab /
| name | age | message | |
|---|---|---|---|
| |
LICENSE.txt | Mon Mar 15 01:11:06 -0700 2010 | first commit for v3 [jed] |
| |
README.md | Tue May 04 06:31:13 -0700 2010 | zapped errant space. [jed] |
| |
apps/ | Thu May 06 06:53:12 -0700 2010 | Send an upstream listener in fab.nodejs.fs. Wit... [eee-c] |
| |
builds/ | Sun Apr 25 11:31:14 -0700 2010 | modified builds to include list of app names. [jed] |
| |
examples/ | Sun Apr 25 13:37:43 -0700 2010 | changed fab.nodejs.listen into a ternary app. [jed] |
| |
index.js | Mon Apr 26 06:26:59 -0700 2010 | prevent higher namespace override, ie so that f... [jed] |
| |
package.json | Sun Jun 20 03:11:08 -0700 2010 | updated package.json for npm. [jed] |
| |
utils/ | Fri Apr 23 08:33:14 -0700 2010 | made all tests async, changed build process. [jed] |
README.md
(fab) - a modular async web framework
(fab) is a lightweight toolkit that makes it easy to build asynchronous web apps. It takes advantage of the flexibility and functional nature of javascript to create a concise "DSL", without pre-compilation or magic scope hackery.
Here's an example of a "hello world" app:
with ( require( "fab" ) )
( fab )
( listen, 0xFAB )
( /^\/hello/ )
( tmpl )
( "Hello, <%= this %>!" )
( /^\/(\w+)$/ )
( capture.at, 0 )
( "world" )
( 404 );
See more examples, learn how to make your own apps, or see the apps that (fab) provides for you.
Note that development on (fab) is evolving very fast, and upcoming changes will break the current API. Though with native templating and an an optional parentheses-light style, they'll be worth it. Read about what's going to change, if you'd like, or follow @fabjs for updates.
