Rack Middleware by Jon Crosby, an employee of Engine Yard
He started by showing an example of monolithic Perl CGI, and moved quicky to Rails. Then he moved to talking about authentication and Rack. I was a bit lost as to what Rack does, or why I would care -- probably because I'm not a middleware developer.
Authentication: OpenID + Oauth Rack is the Web. The Web is Rack Rack is based on WSGI. It's a webserver interface. http://rack.rubyforge.org/ "Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks."
He showed some examples of rack.
- Rack::Pool:Session
- Rack::Profiler
- Rack::MailExceptions
- Rack:CSSHTTPRequest
- Rack::Cache - highly recommended
Cooperative Middleware Take a look at URI spaces CloudKit - and Open Web JSON client http://getcloudkit.com/ - expose :notes, :todos Has an OAuth plugin "filter"
"Via" HTTP headers. Used by Rack middleware
env['cloudkit.auth'] = 1
env['cloudkit.via'] << 'cloudkit.filter...'
Alternative stacks
- Rack::Map could let you create two apps for your same blog - a public and a private one.
- Rack::Map + Sinatra 0.9.1
Question: How do you detect colissions in the URI namespace?
Answer: There's no facility in Rack to do that. It's a good time to work on it before Rack hits version 1.0.