| Index: Tools/Scripts/webkitpy/thirdparty/webpagereplay/mockhttprequest.py
|
| diff --git a/Tools/Scripts/webkitpy/thirdparty/webpagereplay/mockhttprequest.py b/Tools/Scripts/webkitpy/thirdparty/webpagereplay/mockhttprequest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ac5df993e95f8c63a199900d29043cb11cc5345c
|
| --- /dev/null
|
| +++ b/Tools/Scripts/webkitpy/thirdparty/webpagereplay/mockhttprequest.py
|
| @@ -0,0 +1,59 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2010 Google Inc. All Rights Reserved.
|
| +#
|
| +# Licensed under the Apache License, Version 2.0 (the "License");
|
| +# you may not use this file except in compliance with the License.
|
| +# You may obtain a copy of the License at
|
| +#
|
| +# http://www.apache.org/licenses/LICENSE-2.0
|
| +#
|
| +# Unless required by applicable law or agreed to in writing, software
|
| +# distributed under the License is distributed on an "AS IS" BASIS,
|
| +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +# See the License for the specific language governing permissions and
|
| +# limitations under the License.
|
| +
|
| +"""Mock instance of ArchivedHttpRequest used for testing."""
|
| +
|
| +
|
| +class ArchivedHttpRequest(object):
|
| + """Mock instance of ArchivedHttpRequest in HttpArchive."""
|
| +
|
| + def __init__(self, command, host, path, request_body, headers):
|
| + """Initialize an ArchivedHttpRequest.
|
| +
|
| + Args:
|
| + command: a string (e.g. 'GET' or 'POST').
|
| + host: a host name (e.g. 'www.google.com').
|
| + path: a request path (e.g. '/search?q=dogs').
|
| + request_body: a request body string for a POST or None.
|
| + headers: [(header1, value1), ...] list of tuples
|
| + """
|
| + self.command = command
|
| + self.host = host
|
| + self.path = path
|
| + self.request_body = request_body
|
| + self.headers = headers
|
| + self.trimmed_headers = headers
|
| +
|
| + def __str__(self):
|
| + return '%s %s%s %s' % (self.command, self.host, self.path,
|
| + self.trimmed_headers)
|
| +
|
| + def __repr__(self):
|
| + return repr((self.command, self.host, self.path, self.request_body,
|
| + self.trimmed_headers))
|
| +
|
| + def __hash__(self):
|
| + """Return a integer hash to use for hashed collections including dict."""
|
| + return hash(repr(self))
|
| +
|
| + def __eq__(self, other):
|
| + """Define the __eq__ method to match the hash behavior."""
|
| + return repr(self) == repr(other)
|
| +
|
| + def matches(self, command=None, host=None, path=None):
|
| + """Returns true iff the request matches all parameters."""
|
| + return ((command is None or command == self.command) and
|
| + (host is None or host == self.host) and
|
| + (path is None or path == self.path))
|
|
|