Пример #1
0
 def _decode_data(self, key, value):
     child = Layer(True)
     child.parent = self.layer
     child.name = key
     child.add_header({'http_header_name': key})
     child.raw_data = value
     child.lines = [value]
     self.layer.add_extracted_layer(child)
Пример #2
0
 def _decode(self, data, **metadata):
     try:
         data = http.multipart.decode({}, data)
         self.layer.lines = []
         for (k, v) in data:
             child = Layer(True)
             child.human_readable = True
             child.parent = self.layer
             child.raw_data = v
             child.name = k
             child.lines = [v]
             self.layer.lines.append('%s' % v)
             self.layer.add_extracted_layer(child)
     except Exception as e:
         raise ValueError("[Phorcys] Failed to parse input.")
Пример #3
0
    def decode(self, data, **kwargs) -> Layer:
        parent = Layer()
        parent.raw_data = data
        parent.name = 'root'
        to_visit = [parent]
        while len(to_visit) != 0:
            next = to_visit.pop()
            layer = self.go_deeper(next, **kwargs)
            if layer is not None:
                layers = layer.extracted_layers
                if layers is not None:
                    to_visit.extend(layers)

        self.top_layer = parent
        self._complete_leaves()
        return parent
Пример #4
0
 def _decode(self, data, **metadata):
     try:
         if type(data) is not str:
             data = data.decode("ascii", "strict")
         if not data.startswith('http'):
             raise ValueError("[Phorcys] Failed to parse input.")
         data = url.decode(data)
         if not data:
             raise ValueError("[Phorcys] Failed to parse input.")
         for (k, v) in data:
             child = Layer(True)
             child.human_readable = True
             child.parent = self.layer
             child.raw_data = v
             child.name = k
             child.lines = [v]
             self.layer.lines.append('%s=%s' % (k, v))
             self.layer.add_extracted_layer(child)
     except:
         raise ValueError("[Phorcys] Failed to parse input.")