Changeset 1086

Show
Ignore:
Timestamp:
06/11/08 16:57:41 (3 months ago)
Author:
kris
Message:

better way to handle unknown methods

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/mango/net/servlet/Servlet.d

    r1085 r1086  
    154154                super (name); 
    155155 
    156                 metrics = new Metrics [7]; 
     156                metrics = new Metrics [8]; 
    157157                exception = new ServletException ("servlet exception"); 
    158158        } 
     
    231231 
    232232        void doTrace (IServletRequest request, IServletResponse response) 
     233        { 
     234                error (response); 
     235        } 
     236 
     237        /********************************************************************** 
     238 
     239                Handle an unexpected request 
     240 
     241        **********************************************************************/ 
     242 
     243        void doOther (IServletRequest request, IServletResponse response) 
    233244        { 
    234245                error (response); 
     
    308319                       case 'G': 
    309320                            handler = &get; 
    310                             metric = &metrics [0]; 
     321                            metric = &metrics [1]; 
    311322                            break; 
    312323 
    313324                       case 'H': 
    314325                            handler = &doHead; 
    315                             metric = &metrics [1]; 
     326                            metric = &metrics [2]; 
    316327                            break; 
    317328 
    318329                       case 'O': 
    319330                            handler = &doOptions; 
    320                             metric = &metrics [2]; 
     331                            metric = &metrics [3]; 
    321332                            break; 
    322333 
    323334                       case 'T': 
    324335                            handler = &doTrace; 
    325                             metric = &metrics [3]; 
     336                            metric = &metrics [4]; 
    326337                            break; 
    327338 
    328339                       case 'D': 
    329340                            handler = &doDelete; 
    330                             metric = &metrics [4]; 
     341                            metric = &metrics [5]; 
    331342                            break; 
    332343 
     
    335346                               { 
    336347                               handler = &doPost; 
    337                                metric = &metrics [5]; 
     348                               metric = &metrics [6]; 
    338349                               } 
    339350                            else 
    340351                               { 
    341352                               handler = &doPut; 
    342                                metric = &metrics [6]; 
     353                               metric = &metrics [7]; 
    343354                               } 
    344355                            break; 
    345356 
    346357                       default: 
    347                             response.sendError (HttpResponses.NotImplemented); 
    348                             return; 
     358                            handler = &doOther; 
     359                            metric = &metrics[0]; 
     360                            break; 
    349361                       } 
    350362