     # 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
-        knowns = ["GET", "PUT", "POST", "DELETE", "OPTIONS"]
         checkIfSupported = (method) => @[method] isnt @unsupported
         supported = _.filter(knowns, checkIfSupported)
-        return respons.end(methods: supported) if handles("json")
+        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

        message = codes[methodNotAllowed]
        accept = request?.headers?.accept or ""
        handles = (mime) -> accept.indexOf(mime) >= 0
        response.statusCode methodNotAllowed
        response.end(error: message) if handles("json")
        response.end(message); this

    # Process the already macted HTTP request according to the REST

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

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