Hi, The strength of rack is that it's a common standard. A rack application must respond to call, and receive an argument, the environment. If you were to create middleware with a different entry method, how would the calling middleware know what to call? The standard says to call the "call" method, thus, all middleware know how to execute all middleware / applications. By changing the names of methods, you're not not able to call it. If your application absolutely _must_ implement a call method, then you'll need to wrap it. If a module you're including defines a call method, then you'll need to divorce that from the actual middleware container. Your middleware can be a very simple wrapper around your object, but in order to work the interface for rack must be preserved. HTH Daniel On 20 February 2010 09:22, Guoliang Cao wrote: > Hi, > > I'm relatively new here. Please forgive me if this has been asked > before. > > I'm wondering if it is possible to name 'call' differently in my > middleware. Because 'call' is a relatively popular name and in case it > is already used in one of the modules I included, I have to create a > wrapper for my middleware. It'll be perfect if I can do something like > this: > > class MyMiddleware > def rack_call_method > :my_rack_call > end > > def my_rack_call env > # my middleware implementation goes here > end > end > > Thank you. > > Cao >