           throw new Error("Missing required query param: #{key}")
 
       if authorization
-        credential = resource.authorize(authorization, name)
-        request.headers["Authorization"] = "#{authorization} #{credential}"
+        if resource.authorize
+          credential = resource.authorize(authorization, name)
+          request.headers["Authorization"] = "#{authorization} #{credential}"
 
       # copy default headers
       for key, value of default_headers

      command.push "  #{url}"
      command.join(" \\\n")

    authorize: (type, action) ->
      @patchboard_client.authorizer.call(@, type, action)


  # Returns a function intended to be used as a method on a
  # Resource instance.

          success_handler(response, decorated)
        delete options.on[definition.status]

      # never silently fail on request errors.
      # TODO: allow a default request_error handler on Client construction
      request.on.request_error ||= (err) ->
        throw err
