Merge pull request #395 from matrix-org/erikj/perspective_limiter
Don't limit connections to perspective serverspull/396/head
						commit
						8c3af5bc62
					
				|  | @ -381,28 +381,24 @@ class Keyring(object): | |||
|     def get_server_verify_key_v2_indirect(self, server_names_and_key_ids, | ||||
|                                           perspective_name, | ||||
|                                           perspective_keys): | ||||
|         limiter = yield get_retry_limiter( | ||||
|             perspective_name, self.clock, self.store | ||||
|         ) | ||||
| 
 | ||||
|         with limiter: | ||||
|             # TODO(mark): Set the minimum_valid_until_ts to that needed by | ||||
|             # the events being validated or the current time if validating | ||||
|             # an incoming request. | ||||
|             query_response = yield self.client.post_json( | ||||
|                 destination=perspective_name, | ||||
|                 path=b"/_matrix/key/v2/query", | ||||
|                 data={ | ||||
|                     u"server_keys": { | ||||
|                         server_name: { | ||||
|                             key_id: { | ||||
|                                 u"minimum_valid_until_ts": 0 | ||||
|                             } for key_id in key_ids | ||||
|                         } | ||||
|                         for server_name, key_ids in server_names_and_key_ids | ||||
|         # TODO(mark): Set the minimum_valid_until_ts to that needed by | ||||
|         # the events being validated or the current time if validating | ||||
|         # an incoming request. | ||||
|         query_response = yield self.client.post_json( | ||||
|             destination=perspective_name, | ||||
|             path=b"/_matrix/key/v2/query", | ||||
|             data={ | ||||
|                 u"server_keys": { | ||||
|                     server_name: { | ||||
|                         key_id: { | ||||
|                             u"minimum_valid_until_ts": 0 | ||||
|                         } for key_id in key_ids | ||||
|                     } | ||||
|                 }, | ||||
|             ) | ||||
|                     for server_name, key_ids in server_names_and_key_ids | ||||
|                 } | ||||
|             }, | ||||
|             long_retries=True, | ||||
|         ) | ||||
| 
 | ||||
|         keys = {} | ||||
| 
 | ||||
|  |  | |||
|  | @ -302,7 +302,7 @@ class MatrixFederationHttpClient(object): | |||
|         defer.returnValue(json.loads(body)) | ||||
| 
 | ||||
|     @defer.inlineCallbacks | ||||
|     def post_json(self, destination, path, data={}): | ||||
|     def post_json(self, destination, path, data={}, long_retries=True): | ||||
|         """ Sends the specifed json data using POST | ||||
| 
 | ||||
|         Args: | ||||
|  | @ -311,6 +311,8 @@ class MatrixFederationHttpClient(object): | |||
|             path (str): The HTTP path. | ||||
|             data (dict): A dict containing the data that will be used as | ||||
|                 the request body. This will be encoded as JSON. | ||||
|             long_retries (bool): A boolean that indicates whether we should | ||||
|                 retry for a short or long time. | ||||
| 
 | ||||
|         Returns: | ||||
|             Deferred: Succeeds when we get a 2xx HTTP response. The result | ||||
|  | @ -330,6 +332,7 @@ class MatrixFederationHttpClient(object): | |||
|             path.encode("ascii"), | ||||
|             body_callback=body_callback, | ||||
|             headers_dict={"Content-Type": ["application/json"]}, | ||||
|             long_retries=True, | ||||
|         ) | ||||
| 
 | ||||
|         if 200 <= response.code < 300: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Erik Johnston
						Erik Johnston