Esempio n. 1
0
    def parse(msg):
        """
        Helper method for parsing a Mongrel2 request string and returning a new
        `MongrelRequest` instance.
        """
        sender, conn_id, path, rest = msg.split(' ', 3)
        headers, rest = tnetstring.pop(rest)
        body, _ = tnetstring.pop(rest)

        if type(headers) is str:
            headers = json.loads(headers)

        return MongrelRequest(sender, conn_id, path, headers, body)
Esempio n. 2
0
 def test_roundtrip_format_unicode(self):
     for _ in xrange(500):
         v = get_random_object(unicode=True)
         self.assertEqual(
             v, tnetstring.loads(tnetstring.dumps(v, "utf8"), "utf8"))
         self.assertEqual((v, ""),
                          tnetstring.pop(tnetstring.dumps(v, "utf16"),
                                         "utf16"))
Esempio n. 3
0
 def test_roundtrip_format_random(self):
     for _ in xrange(500):
         v = get_random_object()
         self.assertEqual(v, tnetstring.loads(tnetstring.dumps(v)))
         self.assertEqual((v, ""), tnetstring.pop(tnetstring.dumps(v)))
Esempio n. 4
0
 def test_roundtrip_format_examples(self):
     for data, expect in FORMAT_EXAMPLES.items():
         self.assertEqual(expect, tnetstring.loads(data))
         self.assertEqual(expect,
                          tnetstring.loads(tnetstring.dumps(expect)))
         self.assertEqual((expect, ""), tnetstring.pop(data))
Esempio n. 5
0
        }
    else:
        return {"mimeType": content_type, "size": 0}


def format_redirect_url(response):
    return response.headers.get_first("location", "")


if __name__ == '__main__':
    if len(sys.argv) < 3:
        print "usage: %s input_dump_file output_har_file" % sys.argv[0]
        sys.exit(0)
    data = open(sys.argv[1]).read()
    reminder = data
    flows = []
    discarded = 0

    while reminder:
        obj, reminder = tnetstring.pop(reminder)
        f = flow.Flow._from_state(obj)
        if (f.response):
            flows.append(f)
        else:
            discarded += 1
    if discarded:
        print "discarding %d flows without valid responses" % discarded

    har = create_har(flows)
    json.dump(har, open(sys.argv[2], 'w'))
Esempio n. 6
0
 def test_roundtrip_format_unicode(self):
     for _ in xrange(500):
         v = get_random_object(unicode=True)
         self.assertEqual(v,tnetstring.loads(tnetstring.dumps(v,"utf8"),"utf8"))
         self.assertEqual((v,""),tnetstring.pop(tnetstring.dumps(v,"utf16"),"utf16"))
Esempio n. 7
0
 def test_roundtrip_format_random(self):
     for _ in xrange(500):
         v = get_random_object()
         self.assertEqual(v,tnetstring.loads(tnetstring.dumps(v)))
         self.assertEqual((v,""),tnetstring.pop(tnetstring.dumps(v)))
Esempio n. 8
0
 def test_roundtrip_format_examples(self):
     for data, expect in FORMAT_EXAMPLES.items():
         self.assertEqual(expect,tnetstring.loads(data))
         self.assertEqual(expect,tnetstring.loads(tnetstring.dumps(expect)))
         self.assertEqual((expect,""),tnetstring.pop(data))