aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/contrib/wbxml/ASWBXMLByteQueue.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/contrib/wbxml/ASWBXMLByteQueue.py')
-rw-r--r--libmproxy/contrib/wbxml/ASWBXMLByteQueue.py103
1 files changed, 0 insertions, 103 deletions
diff --git a/libmproxy/contrib/wbxml/ASWBXMLByteQueue.py b/libmproxy/contrib/wbxml/ASWBXMLByteQueue.py
deleted file mode 100644
index c7a9e0a5..00000000
--- a/libmproxy/contrib/wbxml/ASWBXMLByteQueue.py
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env python
-'''
-@author: David Shaw, david.shaw.aw@gmail.com
-
-Inspired by EAS Inspector for Fiddler
-https://easinspectorforfiddler.codeplex.com
-
------ The MIT License (MIT) -----
-Filename: ASWBXMLByteQueue.py
-Copyright (c) 2014, David P. Shaw
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-'''
-from Queue import Queue
-import logging
-
-class ASWBXMLByteQueue(Queue):
-
- def __init__(self, wbxmlBytes):
-
- self.bytesDequeued = 0
- self.bytesEnqueued = 0
-
- Queue.__init__(self)
-
- for byte in wbxmlBytes:
- self.put(ord(byte))
- self.bytesEnqueued += 1
-
-
- logging.debug("Array byte count: %d, enqueued: %d" % (self.qsize(), self.bytesEnqueued))
-
- """
- Created to debug the dequeueing of bytes
- """
- def dequeueAndLog(self):
- singleByte = self.get()
- self.bytesDequeued += 1
- logging.debug("Dequeued byte 0x{0:X} ({1} total)".format(singleByte, self.bytesDequeued))
- return singleByte
-
- """
- Return true if the continuation bit is set in the byte
- """
- def checkContinuationBit(self, byteval):
- continuationBitmask = 0x80
- return (continuationBitmask & byteval) != 0
-
- def dequeueMultibyteInt(self):
- iReturn = 0
- singleByte = 0xFF
-
- while True:
- iReturn <<= 7
- if (self.qsize() == 0):
- break
- else:
- singleByte = self.dequeueAndLog()
- iReturn += int(singleByte & 0x7F)
- if not self.checkContinuationBit(singleByte):
- return iReturn
-
- def dequeueString(self, length=None):
- if ( length != None):
- currentByte = 0x00
- strReturn = ""
- for i in range(0, length):
- # TODO: Improve this handling. We are technically UTF-8, meaning
- # that characters could be more than one byte long. This will fail if we have
- # characters outside of the US-ASCII range
- if ( self.qsize() == 0 ):
- break
- currentByte = self.dequeueAndLog()
- strReturn += chr(currentByte)
-
- else:
- currentByte = 0x00
- strReturn = ""
- while True:
- currentByte = self.dequeueAndLog()
- if (currentByte != 0x00):
- strReturn += chr(currentByte)
- else:
- break
-
- return strReturn
-