| Index: tools/telemetry/third_party/webpagereplay/httpzlib.py
|
| diff --git a/tools/telemetry/third_party/webpagereplay/httpzlib.py b/tools/telemetry/third_party/webpagereplay/httpzlib.py
|
| deleted file mode 100644
|
| index b06cb293b15844773b387d6c50af9cab16332e9d..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/webpagereplay/httpzlib.py
|
| +++ /dev/null
|
| @@ -1,86 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright 2011 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.
|
| -
|
| -"""Apply gzip/deflate to separate chunks of data."""
|
| -
|
| -import struct
|
| -import zlib
|
| -
|
| -GZIP_HEADER = (
|
| - '\037\213' # magic header
|
| - '\010' # compression method
|
| - '\000' # flags (none)
|
| - '\000\000\000\000' # packed time (use zero)
|
| - '\002'
|
| - '\377')
|
| -
|
| -
|
| -def compress_chunks(uncompressed_chunks, use_gzip):
|
| - """Compress a list of data with gzip or deflate.
|
| -
|
| - The returned chunks may be used with HTTP chunked encoding.
|
| -
|
| - Args:
|
| - uncompressed_chunks: a list of strings
|
| - (e.g. ["this is the first chunk", "and the second"])
|
| - use_gzip: if True, compress with gzip. Otherwise, use deflate.
|
| -
|
| - Returns:
|
| - [compressed_chunk_1, compressed_chunk_2, ...]
|
| - """
|
| - if use_gzip:
|
| - size = 0
|
| - crc = zlib.crc32("") & 0xffffffffL
|
| - compressor = zlib.compressobj(
|
| - 6, zlib.DEFLATED, -zlib.MAX_WBITS, zlib.DEF_MEM_LEVEL, 0)
|
| - else:
|
| - compressor = zlib.compressobj()
|
| - compressed_chunks = []
|
| - last_index = len(uncompressed_chunks) - 1
|
| - for index, data in enumerate(uncompressed_chunks):
|
| - chunk = ''
|
| - if use_gzip:
|
| - size += len(data)
|
| - crc = zlib.crc32(data, crc) & 0xffffffffL
|
| - if index == 0:
|
| - chunk += GZIP_HEADER
|
| - chunk += compressor.compress(data)
|
| - if index < last_index:
|
| - chunk += compressor.flush(zlib.Z_SYNC_FLUSH)
|
| - else:
|
| - chunk += (compressor.flush(zlib.Z_FULL_FLUSH) +
|
| - compressor.flush())
|
| - if use_gzip:
|
| - chunk += (struct.pack("<L", long(crc)) +
|
| - struct.pack("<L", long(size)))
|
| - compressed_chunks.append(chunk)
|
| - return compressed_chunks
|
| -
|
| -
|
| -def uncompress_chunks(compressed_chunks, use_gzip):
|
| - """Uncompress a list of data compressed with gzip or deflate.
|
| -
|
| - Args:
|
| - compressed_chunks: a list of compressed data
|
| - use_gzip: if True, uncompress with gzip. Otherwise, use deflate.
|
| -
|
| - Returns:
|
| - [uncompressed_chunk_1, uncompressed_chunk_2, ...]
|
| - """
|
| - if use_gzip:
|
| - decompress = zlib.decompressobj(16 + zlib.MAX_WBITS).decompress
|
| - else:
|
| - decompress = zlib.decompressobj(-zlib.MAX_WBITS).decompress
|
| - return [decompress(c) for c in compressed_chunks]
|
|
|