@@ -37,25 +37,14 @@ class ReplicationServer:
3737 replication service serves something other than osc.gz files, set
3838 the `diff_type` to the given file suffix.
3939
40- `extra_parameters` may be used to define additional parameters to be
41- handed to the `requests.get()` method when downloading files. This
42- may be used to set custom headers, timeouts and similar parameters.
43- See the `requests documentation <https://requests.readthedocs.io/en/latest/api/?highlight=get#requests.request>`_
44- for possible parameters. The default is to set a timeout of 60 sec
45- and enable streaming download.
46-
4740 ReplicationServer may be used as a context manager. In this case, it
4841 internally keeps a connection to the server making downloads faster.
4942 """
5043
51- def __init__ (self , url : str , diff_type : str = 'osc.gz' ,
52- extra_request_params : Optional [Mapping [str , Any ]] = None ) -> None :
44+ def __init__ (self , url : str , diff_type : str = 'osc.gz' ) -> None :
5345 self .baseurl = url
5446 self .diff_type = diff_type
55- if extra_request_params is None :
56- self .extra_request_params = dict (timeout = 60 , stream = True )
57- else :
58- self .extra_request_params = extra_request_params
47+ self .extra_request_params : Mapping [str , Any ] = dict (timeout = 60 , stream = True )
5948 self .session : Optional [requests .Session ] = None
6049
6150 def close (self ) -> None :
@@ -72,6 +61,16 @@ def __enter__(self) -> 'ReplicationServer':
7261 def __exit__ (self , exc_type : Any , exc_value : Any , traceback : Any ) -> None :
7362 self .close ()
7463
64+ def set_request_parameter (self , key : str , value : Any ) -> None :
65+ """ Set a parameter which will be handed to the requests library
66+ when calling `requests.get()`. This
67+ may be used to set custom headers, timeouts and similar parameters.
68+ See the `requests documentation <https://requests.readthedocs.io/en/latest/api/?highlight=get#requests.request>`_
69+ for possible parameters. Per default, a timeout of 60 sec is set
70+ and streaming download enabled.
71+ """
72+ self .extra_request_params [key ] = value
73+
7574 def make_request (self , url : str ) -> urlrequest .Request :
7675 headers = {"User-Agent" : f"pyosmium/{ version .pyosmium_release } " }
7776 return urlrequest .Request (url , headers = headers )
0 commit comments