diff options
Diffstat (limited to 'mitmproxy/contentviews/xml.py')
-rw-r--r-- | mitmproxy/contentviews/xml.py | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/mitmproxy/contentviews/xml.py b/mitmproxy/contentviews/xml.py deleted file mode 100644 index a382b09d..00000000 --- a/mitmproxy/contentviews/xml.py +++ /dev/null @@ -1,45 +0,0 @@ -import lxml.etree - -from . import base - - -class ViewXML(base.View): - name = "XML" - prompt = ("xml", "x") - content_types = ["text/xml"] - - def __call__(self, data, **metadata): - parser = lxml.etree.XMLParser( - remove_blank_text=True, - resolve_entities=False, - strip_cdata=False, - recover=False - ) - try: - document = lxml.etree.fromstring(data, parser) - except lxml.etree.XMLSyntaxError: - return None - docinfo = document.getroottree().docinfo - - prev = [] - p = document.getroottree().getroot().getprevious() - while p is not None: - prev.insert( - 0, - lxml.etree.tostring(p) - ) - p = p.getprevious() - doctype = docinfo.doctype - if prev: - doctype += "\n".join(p.decode() for p in prev).strip() - doctype = doctype.strip() - - s = lxml.etree.tostring( - document, - pretty_print=True, - xml_declaration=True, - doctype=doctype or None, - encoding=docinfo.encoding - ) - - return "XML-like data", base.format_text(s) |