     # defined in the subclass of this abstract base class. Default
     # implementation of each method will throw a not implemented.
     process: (request, response, next) ->
-        tokens = super(request, response, next)
+        knowns = @constructor.SUPPORTED
         parameters = [request, response, next]
-        knowns = ["GET", "PUT", "POST", "DELETE", "OPTIONS"]
+        tokens = super(parameters...)
         method = request?.method?.toUpperCase()?.trim()
         return @unsupported(parameters...) unless method in knowns
         missing = "Missing implementation for #{method} method"

SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
###

http = require "http"
events = require "events"
colors = require "colors"

    # of implementing this method, because it usually can have a lot of
    # different interpretations other than the one in the HTTP spec.
    OPTIONS: (request, response) ->
        knowns = @constructor.SUPPORTED
        accept = request?.headers?.accept or ""
        pathname = url.parse(request?.url)?.pathname
        handles = (mime) -> accept.indexOf(mime) >= 0
        checkIfSupported = (method) => @[method] isnt @unsupported
        supported = _.filter(knowns, checkIfSupported)
        descriptor = methods: supported, resource: pathname
        return respons.end(descriptor) if handles("json")
        response.end(supported.join(", ")); this

    # Delete the contents of the resources at the establushed path. It
