mwrc: Rack Middleware by Jon Crosby

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.

Comments are closed.