     bytes = [UInt8](string.utf8)
   }
 
+  init(bytes: [UInt8]) {
+    self.bytes = bytes
+  }
+
   subscript(index: Int) -> UInt8 { return bytes[index] }
 
   func match(index: Int, c: UInt8) -> Bool {
     return bytes[index] == c
   }
 
+  var count: Int { return bytes.count }
+
   static let CONTENT_DISPOSITION = BodyTokenMatcher(
       string: "Content-Disposition")
 

  static let FILENAME = BodyTokenMatcher(string: "filename")

  static let CONTENT_TYPE = BodyTokenMatcher(string: "Content-Type")

}


  case Key
  case Value
  case BeginMultipart
  case MatchToken
  case ContentDisposition
  case LineFeed
  case FormData
  case Name
  case NameValue
  case FileName
  case FileNameValue
  case ContentBody
  case ContentTypeValue
}
