From 650e1a2ed5d3c665e511c5fdac300e9a57d242bb Mon Sep 17 00:00:00 2001
From: mathieui <mathieui@mathieui.net>
Date: Thu, 4 Feb 2021 18:31:43 +0100
Subject: docs/xmlstream: remove HTTP proxy references

It has been removed years ago.
---
 docs/getting_started/index.rst |   2 -
 docs/getting_started/proxy.rst |  40 ------------
 examples/proxy_echo_client.py  | 135 -----------------------------------------
 slixmpp/xmlstream/xmlstream.py |  11 ----
 4 files changed, 188 deletions(-)
 delete mode 100644 docs/getting_started/proxy.rst
 delete mode 100755 examples/proxy_echo_client.py

diff --git a/docs/getting_started/index.rst b/docs/getting_started/index.rst
index 97c34a22..cbad1be8 100644
--- a/docs/getting_started/index.rst
+++ b/docs/getting_started/index.rst
@@ -9,7 +9,5 @@ Getting Started (with examples)
     component
     presence
     muc
-    proxy
     scheduler
     iq
-
diff --git a/docs/getting_started/proxy.rst b/docs/getting_started/proxy.rst
deleted file mode 100644
index 22439d4e..00000000
--- a/docs/getting_started/proxy.rst
+++ /dev/null
@@ -1,40 +0,0 @@
-.. _proxy:
-
-=========================
-Enable HTTP Proxy Support
-=========================
-
-.. note::
-
-    If you have any issues working through this quickstart guide
-    join the chat room at `slixmpp@muc.poez.io
-    <xmpp:slixmpp@muc.poez.io?join>`_.
-
-In some instances, you may wish to route XMPP traffic through
-an HTTP proxy, probably to get around restrictive firewalls.
-Slixmpp provides support for basic HTTP proxying with DIGEST
-authentication.
-
-Enabling proxy support is done in two steps. The first is to instruct Slixmpp
-to use a proxy, and the second is to configure the proxy details:
-
-.. code-block:: python
-
-    xmpp = ClientXMPP(...)
-    xmpp.use_proxy = True
-    xmpp.proxy_config = {
-        'host': 'proxy.example.com',
-        'port': 5555,
-        'username': 'example_user',
-        'password': '******'
-    }
-
-The ``'username'`` and ``'password'`` fields are optional if the proxy does not
-require authentication.
-
-
-The Final Product
------------------
-
-.. include:: ../../examples/proxy_echo_client.py
-    :literal:
diff --git a/examples/proxy_echo_client.py b/examples/proxy_echo_client.py
deleted file mode 100755
index 566f5957..00000000
--- a/examples/proxy_echo_client.py
+++ /dev/null
@@ -1,135 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-"""
-    Slixmpp: The Slick XMPP Library
-    Copyright (C) 2010  Nathanael C. Fritz
-    This file is part of Slixmpp.
-
-    See the file LICENSE for copying permission.
-"""
-
-import logging
-from getpass import getpass
-from argparse import ArgumentParser
-
-import slixmpp
-
-
-class EchoBot(slixmpp.ClientXMPP):
-
-    """
-    A simple Slixmpp bot that will echo messages it
-    receives, along with a short thank you message.
-    """
-
-    def __init__(self, jid, password):
-        slixmpp.ClientXMPP.__init__(self, jid, password)
-
-        # The session_start event will be triggered when
-        # the bot establishes its connection with the server
-        # and the XML streams are ready for use. We want to
-        # listen for this event so that we we can initialize
-        # our roster.
-        self.add_event_handler("session_start", self.start)
-
-        # The message event is triggered whenever a message
-        # stanza is received. Be aware that that includes
-        # MUC messages and error messages.
-        self.add_event_handler("message", self.message)
-
-    async def start(self, event):
-        """
-        Process the session_start event.
-
-        Typical actions for the session_start event are
-        requesting the roster and broadcasting an initial
-        presence stanza.
-
-        Arguments:
-            event -- An empty dictionary. The session_start
-                     event does not provide any additional
-                     data.
-        """
-        self.send_presence()
-        await self.get_roster()
-
-    def message(self, msg):
-        """
-        Process incoming message stanzas. Be aware that this also
-        includes MUC messages and error messages. It is usually
-        a good idea to check the messages's type before processing
-        or sending replies.
-
-        Arguments:
-            msg -- The received message stanza. See the documentation
-                   for stanza objects and the Message stanza to see
-                   how it may be used.
-        """
-        msg.reply("Thanks for sending\n%(body)s" % msg).send()
-
-
-if __name__ == '__main__':
-    # Setup the command line arguments.
-    parser = ArgumentParser()
-
-    # Output verbosity options.
-    parser.add_argument("-q", "--quiet", help="set logging to ERROR",
-                        action="store_const", dest="loglevel",
-                        const=logging.ERROR, default=logging.INFO)
-    parser.add_argument("-d", "--debug", help="set logging to DEBUG",
-                        action="store_const", dest="loglevel",
-                        const=logging.DEBUG, default=logging.INFO)
-
-    # JID and password options.
-    parser.add_argument("-j", "--jid", dest="jid",
-                        help="JID to use")
-    parser.add_argument("-p", "--password", dest="password",
-                        help="password to use")
-    parser.add_argument("--phost", dest="proxy_host",
-                        help="Proxy hostname")
-    parser.add_argument("--pport", dest="proxy_port",
-                        help="Proxy port")
-    parser.add_argument("--puser", dest="proxy_user",
-                        help="Proxy username")
-    parser.add_argument("--ppass", dest="proxy_pass",
-                        help="Proxy password")
-
-    args = parser.parse_args()
-
-    # Setup logging.
-    logging.basicConfig(level=args.loglevel,
-                        format='%(levelname)-8s %(message)s')
-
-    if args.jid is None:
-        args.jid = input("Username: ")
-    if args.password is None:
-        args.password = getpass("Password: ")
-    if args.proxy_host is None:
-        args.proxy_host = input("Proxy host: ")
-    if args.proxy_port is None:
-        args.proxy_port = input("Proxy port: ")
-    if args.proxy_user is None:
-        args.proxy_user = input("Proxy username: ")
-    if args.proxy_pass is None and args.proxy_user:
-        args.proxy_pass = getpass("Proxy password: ")
-
-    # Setup the EchoBot and register plugins. Note that while plugins may
-    # have interdependencies, the order in which you register them does
-    # not matter.
-    xmpp = EchoBot(args.jid, args.password)
-    xmpp.register_plugin('xep_0030') # Service Discovery
-    xmpp.register_plugin('xep_0004') # Data Forms
-    xmpp.register_plugin('xep_0060') # PubSub
-    xmpp.register_plugin('xep_0199') # XMPP Ping
-
-    xmpp.use_proxy = True
-    xmpp.proxy_config = {
-        'host': args.proxy_host,
-        'port': int(args.proxy_port),
-        'username': args.proxy_user,
-        'password': args.proxy_pass}
-
-    # Connect to the XMPP server and start processing XMPP stanzas.
-    xmpp.connect()
-    xmpp.process()
diff --git a/slixmpp/xmlstream/xmlstream.py b/slixmpp/xmlstream/xmlstream.py
index b80c55d3..48784a4b 100644
--- a/slixmpp/xmlstream/xmlstream.py
+++ b/slixmpp/xmlstream/xmlstream.py
@@ -157,10 +157,6 @@ class XMLStream(asyncio.BaseProtocol):
         #: non-SSL traffic and another for SSL traffic.
         self.use_ssl = False
 
-        #: If set to ``True``, attempt to connect through an HTTP
-        #: proxy based on the settings in :attr:`proxy_config`.
-        self.use_proxy = False
-
         #: If set to ``True``, attempt to use IPv6.
         self.use_ipv6 = True
 
@@ -173,13 +169,6 @@ class XMLStream(asyncio.BaseProtocol):
         #: to ``False``.
         self.use_cdata = False
 
-        #: An optional dictionary of proxy settings. It may provide:
-        #: :host: The host offering proxy services.
-        #: :port: The port for the proxy service.
-        #: :username: Optional username for accessing the proxy.
-        #: :password: Optional password for accessing the proxy.
-        self.proxy_config = {}
-
         #: The default namespace of the stream content, not of the
         #: stream wrapper itself.
         self.default_ns = ''
-- 
cgit v1.2.3