code: public void handle(String pathInContext,
                         String pathParams,
                         HttpRequest request,
                         HttpResponse response)
          throws HttpException, IOException
      {
          Resource resource = getResource(pathInContext);
          if (resource==null)
              return;
  
          // Is the method allowed?
          if (!isMethodAllowed(request.getMethod()))
          {
              if(log.isDebugEnabled())log.debug("Method not allowed: "+request.getMethod());
              if (resource.exists())
              {
                  setAllowHeader(response);
                  response.sendError(HttpResponse.__405_Method_Not_Allowed);
              }
              return;
          }
  
          // Handle the request
          try
          {
              if(log.isDebugEnabled())log.debug("PATH="+pathInContext+" RESOURCE="+resource);
              
              // check filename
              String method=request.getMethod();
              if (method.equals(HttpRequest.__GET) ||
                  method.equals(HttpRequest.__POST) ||
                  method.equals(HttpRequest.__HEAD))
                  handleGet(request, response, pathInContext, pathParams, resource);  
              else if (method.equals(HttpRequest.__PUT))
                  handlePut(request, response, pathInContext, resource);
              else if (method.equals(HttpRequest.__DELETE))
                  handleDelete(request, response, pathInContext, resource);
              else if (method.equals(HttpRequest.__OPTIONS))
                  handleOptions(response, pathInContext);
              else if (method.equals(HttpRequest.__MOVE))
                  handleMove(request, response, pathInContext, resource);
              else if (method.equals(HttpRequest.__TRACE))
                  handleTrace(request, response);
              else
              {
                  if(log.isDebugEnabled())log.debug("Unknown action:"+method);
                  // anything else...
                  try{
                      if (resource.exists())
                          response.sendError(HttpResponse.__501_Not_Implemented);
                  }
                  catch(Exception e) {LogSupport.ignore(log,e);}
              }
          }
          catch(IllegalArgumentException e)
          {
              LogSupport.ignore(log,e);
          }
          finally
          {
              if (resource!=null && !(resource instanceof CachedResource))
                  resource.release();
          }
      }
docs: /* ------------------------------------------------------------