Clover coverage report - ActiveIO - 1.0
Coverage timestamp: Fri Apr 22 2005 14:27:22 PDT
file stats: LOC: 67   Methods: 2
NCLOC: 37   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
HttpRecognizer.java 83.3% 96% 100% 93.9%
coverage coverage
 1   
 /**
 2   
  * 
 3   
  * Copyright 2004 Hiram Chirino
 4   
  * 
 5   
  * Licensed under the Apache License, Version 2.0 (the "License"); 
 6   
  * you may not use this file except in compliance with the License. 
 7   
  * You may obtain a copy of the License at 
 8   
  * 
 9   
  * http://www.apache.org/licenses/LICENSE-2.0
 10   
  * 
 11   
  * Unless required by applicable law or agreed to in writing, software
 12   
  * distributed under the License is distributed on an "AS IS" BASIS, 
 13   
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 14   
  * See the License for the specific language governing permissions and 
 15   
  * limitations under the License. 
 16   
  * 
 17   
  **/
 18   
 package org.activeio.oneport;
 19   
 
 20   
 import java.util.HashSet;
 21   
 
 22   
 import org.activeio.Packet;
 23   
 
 24   
 
 25   
 public class HttpRecognizer implements ProtocolRecognizer {
 26   
 
 27   
     static private HashSet methods = new HashSet();
 28   
     static {
 29   
         // This list built using: http://www.w3.org/Protocols/HTTP/Methods.html
 30  6
         methods.add("GET ");
 31  6
         methods.add("PUT ");
 32  6
         methods.add("POST ");
 33  6
         methods.add("HEAD ");
 34  6
         methods.add("LINK ");
 35  6
         methods.add("TRACE ");
 36  6
         methods.add("UNLINK ");
 37  6
         methods.add("SEARCH ");
 38  6
         methods.add("DELETE ");
 39  6
         methods.add("CHECKIN ");
 40  6
         methods.add("OPTIONS ");
 41  6
         methods.add("CONNECT ");
 42  6
         methods.add("CHECKOUT ");
 43  6
         methods.add("SPACEJUMP ");
 44  6
         methods.add("SHOWMETHOD ");
 45  6
         methods.add("TEXTSEARCH ");        
 46   
     }
 47   
     
 48   
     static final public HttpRecognizer HTTP_RECOGNIZER = new HttpRecognizer();
 49   
     
 50  6
     private HttpRecognizer() {}
 51   
     
 52  17
     public boolean recognizes(Packet packet) {
 53   
         
 54  17
         StringBuffer b = new StringBuffer(12);
 55  17
         for (int i = 0; i < 11; i++) {
 56  129
             int c = (char)packet.read();
 57  129
             if( c == -1)
 58  0
                 return false;
 59   
             
 60  129
             b.append((char)c);
 61  129
             if(((char)c)==' ')
 62  14
                 break;
 63   
         }
 64   
         
 65  17
         return methods.contains(b.toString());
 66   
     }
 67   
 }