Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Zotonic's fork of Basho's webmachine
Erlang JavaScript CSS
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
demo
docs
ebin
include
priv
scripts
src
test
trace
www
.gitignore
Emakefile
LICENSE
Makefile
README.md
THANKS
rebar
rebar.config
start-dev.sh
start.sh

README.md

webzmachine

Zotonic's Variation

This is a fork of Basho's Webmachine. This fork is done for supporting content management systems with large amounts of dispatch rules and many virtual hosts.

Differences with Basho Webmachine

The main differences with Basho's Webmachine are:

  • Pluggable dispatch handler
  • Support for the HTTP Upgrade
  • Caching of resource callbacks results
  • Dispatch handler can redirect requests
  • Use of process dictionary has been removed
  • webmachine_request is now a normal (non parametrized) module
  • Resources are renamed to controllers.
  • webmachine_controller (ie. webmachine_resource) is now a non-parametrized module
  • Extra logging, also in the event of crashes
  • Use of os:timestamp() instead of now() to prevent locking and time shifts

The first couple of changes gave a significant speed boost to Webmachine.

In the specific case of Zotonic the difference was 5 milliseconds (or more) per request (on a 2GHz Core 2 Duo). Without these optimizations we were not able to use Webmachine.

Something went wrong with that request. Please try again.