Add proxy option to config and prepare the requests with it - toot - Unnamed repository; edit this file 'description' to name the repository.
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit a18df271fef4d221601d1b5e707010f06bba2c79
 (DIR) parent c6b1d913707e9a107b44537e1f67dac73d82fe72
 (HTM) Author: Christian Kellermann <ckeen@pestilenz.org>
       Date:   Wed, 31 Jan 2018 14:22:05 +0100
       
       Add proxy option to config and prepare the requests with it
       
       Diffstat:
         toot/config.py                      |      18 ++++++++++++++++++
         toot/http.py                        |       3 ++-
       
       2 files changed, 20 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/toot/config.py b/toot/config.py
       @@ -45,6 +45,7 @@ def make_config(path):
                "apps": apps,
                "users": users,
                "active_user": active_user,
       +        "proxy" : {},
            }
        
            print_out("Creating config file at <blue>{}</blue>".format(path))
       @@ -174,3 +175,20 @@ def activate_user(config, user):
            config['active_user'] = user_id(user)
        
            return config
       +
       +@modify_config
       +def set_proxy(config, proxy):
       +    config['proxy'] = proxy
       +
       +    return config
       +
       +@modify_config
       +def delete_proxy(config):
       +    config['proxy'] = None
       +
       +    return config
       +
       +def get_proxy():
       +    config = load_config()
       +
       +    return config['proxy']
 (DIR) diff --git a/toot/http.py b/toot/http.py
       @@ -1,12 +1,13 @@
        from requests import Request, Session
        from toot.exceptions import NotFoundError, ApiError
        from toot.logging import log_request, log_response
       -
       +from toot import config
        
        def send_request(request, allow_redirects=True):
            log_request(request)
        
            with Session() as session:
       +        session.proxies.update(config.get_proxy())
                prepared = session.prepare_request(request)
                response = session.send(prepared, allow_redirects=allow_redirects)