@@ -63,14 +63,15 @@ def __init__(self, server: str, domain: str, as_token: str, hs_token: str, bot_l
63
63
real_user_content_key : Optional [str ] = "net.maunium.appservice.puppet" ,
64
64
state_store : ASStateStore = None , aiohttp_params : Dict = None ,
65
65
ephemeral_events : bool = False , default_ua : str = HTTPAPI .default_ua ,
66
- default_http_retry_count : int = 0 ) -> None :
66
+ default_http_retry_count : int = 0 , connection_limit : int = None ) -> None :
67
67
super ().__init__ (ephemeral_events = ephemeral_events )
68
68
self .server = server
69
69
self .domain = domain
70
70
self .id = id
71
71
self .verify_ssl = verify_ssl
72
72
self .tls_cert = tls_cert
73
73
self .tls_key = tls_key
74
+ self .connection_limit = connection_limit or 100
74
75
self .as_token = as_token
75
76
self .hs_token = hs_token
76
77
self .bot_mxid = UserID (f"@{ bot_localpart } :{ domain } " )
@@ -126,10 +127,11 @@ async def __aexit__(self) -> None:
126
127
127
128
async def start (self , host : str = "127.0.0.1" , port : int = 8080 ) -> None :
128
129
await self .state_store .open ()
129
- connector = None
130
130
self .log .debug (f"Starting appservice web server on { host } :{ port } " )
131
131
if self .server .startswith ("https://" ) and not self .verify_ssl :
132
- connector = aiohttp .TCPConnector (verify_ssl = False )
132
+ connector = aiohttp .TCPConnector (limit = self .connection_limit , verify_ssl = False )
133
+ else :
134
+ connector = aiohttp .TCPConnector (limit = self .connection_limit )
133
135
default_headers = {"User-Agent" : self .default_ua }
134
136
self ._http_session = aiohttp .ClientSession (loop = self .loop , connector = connector ,
135
137
headers = default_headers )
0 commit comments