Source code for geni.minigcf.config

# Copyright (c) 2015-2016  Barnstormer Softworks, Ltd.

#  This Source Code Form is subject to the terms of the Mozilla Public
#  License, v. 2.0. If a copy of the MPL was not distributed with this
#  file, You can obtain one at http://mozilla.org/MPL/2.0/.

import xmlrpclib

[docs]class HTTP(object): """Global configuration options for MiniGCF HTTP(S) calls.""" TIMEOUT = 30 """Initial response timeout. Note that this is not the time limit on the entire download, just the initial server response.""" ALLOW_REDIRECTS = False """Allow MiniGCF to follow HTTP redirects (301).""" LOG_RAW_RESPONSES = False """If set to a valid `(log_handle, log_level)` tuple, will write all raw responses (before any parsing) from AM API and CH API calls to that log at the given level.""" LOG_RAW_REQUESTS = False """If set to a valid `(log_handle, log_level)` tuple, will write all raw requests (before any parsing) to AM API and CH API calls to that log at the given level.""" LOG_URLS = False """If set to a valid `(log_handle, log_level)` tuple, will log all URLs as they are used."""
[docs]def dumps_with_log (*args, **kwargs): req_data = xmlrpclib._dumps(*args, **kwargs) if isinstance(HTTP.LOG_RAW_REQUESTS, tuple): HTTP.LOG_RAW_REQUESTS[0].log(HTTP.LOG_RAW_REQUESTS[1], req_data) # pylint: disable=unsubscriptable-object return req_data
setattr(xmlrpclib, "_dumps", getattr(xmlrpclib, "dumps")) setattr(xmlrpclib, "dumps", dumps_with_log)