docs: def http_meta_data(self):
          """Pull out the application metadata for each flow in the input_stream"""
  
          # For each flow process the contents
          for flow in self.input_stream:
  
              # Client to Server
              if flow['direction'] == 'CTS':
                  try:
                      request = dpkt.http.Request(flow['payload'])
                      request_data = data_utils.make_dict(request)
                      request_data['uri'] = self._clean_uri(request['uri'])
                      flow['http'] = {'type':'HTTP_REQUEST', 'data':request_data}
                  except (dpkt.dpkt.NeedData, dpkt.dpkt.UnpackError):
                      flow['http'] = None
  
              # Server to Client
              else:
                  try:
                      response = dpkt.http.Response(flow['payload'])
                      flow['http'] = {'type': 'HTTP_RESPONSE', 'data': data_utils.make_dict(response)}
                  except (dpkt.dpkt.NeedData, dpkt.dpkt.UnpackError):
                      flow['http'] = None
  
              # Mark non-TCP HTTP
              if flow['http'] and flow['protocol'] != 'TCP':
                  flow['http'].update({'weird': 'UDP-HTTP'})
  
              # All done
              yield flow