reyserver 1.1.64__py3-none-any.whl → 1.1.66__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of reyserver might be problematic. Click here for more details.

reyserver/rauth.py CHANGED
@@ -407,7 +407,7 @@ async def get_user_data(
407
407
 
408
408
 
409
409
  @router_auth.post('/token')
410
- async def create_sessions(
410
+ async def create_token(
411
411
  username: str = Bind.i.form,
412
412
  password: str = Bind.i.form,
413
413
  conn: Bind.Conn = Bind.conn.auth,
reyserver/rserver.py CHANGED
@@ -13,6 +13,7 @@ from typing import Literal
13
13
  from collections.abc import Sequence, Callable, Coroutine
14
14
  from inspect import iscoroutinefunction
15
15
  from contextlib import asynccontextmanager, _AsyncGeneratorContextManager
16
+ from logging import getLogger, Filter
16
17
  from uvicorn import run as uvicorn_run
17
18
  from starlette.middleware.base import _StreamingResponse
18
19
  from fastapi import FastAPI, Request
@@ -114,6 +115,9 @@ class Server(ServerBase, Singleton):
114
115
  self.api_file_dir: str
115
116
  'File API store directory path.'
116
117
 
118
+ # Filter warning.
119
+ self.__filter_warning()
120
+
117
121
 
118
122
  def __create_lifespan(
119
123
  self,
@@ -216,12 +220,27 @@ class Server(ServerBase, Singleton):
216
220
  return response
217
221
 
218
222
 
223
+ def __filter_warning(self) -> None:
224
+ """
225
+ Filter server default logger warning record.
226
+ """
227
+
228
+ # Filter.
229
+ log_filter = Filter()
230
+ log_filter.filter = lambda record: (
231
+ False
232
+ if record.msg == 'ASGI app factory detected. Using it, but please consider setting the --factory flag explicitly.'
233
+ else True
234
+ )
235
+ log = getLogger('uvicorn.error')
236
+ log.addFilter(log_filter)
237
+
238
+
219
239
  def run(
220
240
  self,
221
241
  host: str = '127.0.0.1',
222
- port: int = 1024,
242
+ port: int = 8000,
223
243
  app: str | None = None,
224
- factory: bool = False,
225
244
  workers: int = 1
226
245
  ) -> None:
227
246
  """
@@ -231,27 +250,29 @@ class Server(ServerBase, Singleton):
231
250
  ----------
232
251
  host : Server host.
233
252
  port: Server port.
234
- app : Application path, format is `Module[.Sub....]:Variable[.Attributre....]` (e.g. `module.sub:server.app`).
253
+ app : Application or function path.
235
254
  - `None`: Cannot use parameter `workers`.
236
- factory : Whether parameter `app` is factory function.
255
+ - `Application`: format is `module[.sub....]:var[.attr....]` (e.g. `module.sub:server.app`).
256
+ - `Function`: format is `module[.sub....]:func` (e.g. `module.sub:main`).
237
257
  workers: Number of server work processes.
238
258
 
239
259
  Examples
240
260
  --------
241
- >>> server = Server(db)
242
-
243
261
  Single work process.
262
+ >>> server = Server(db)
244
263
  >>> server.run()
245
264
 
246
265
  Multiple work processes.
247
266
  >>> server = Server(db)
248
267
  >>> if __name__ == '__main__':
249
- >>> server('module.sub:server.app')
268
+ >>> server('module.sub:server.app', workers=2)
250
269
  """
251
270
 
252
271
  # Parameter.
253
272
  if app is None:
254
273
  app = self.app
274
+ if workers == 1:
275
+ workers = None
255
276
 
256
277
  # Run.
257
278
  uvicorn_run(
@@ -260,8 +281,7 @@ class Server(ServerBase, Singleton):
260
281
  port=port,
261
282
  workers=workers,
262
283
  ssl_certfile=self.ssl_cert,
263
- ssl_keyfile=self.ssl_key,
264
- factory=factory
284
+ ssl_keyfile=self.ssl_key
265
285
  )
266
286
 
267
287
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reyserver
3
- Version: 1.1.64
3
+ Version: 1.1.66
4
4
  Summary: Backend server method set.
5
5
  Project-URL: homepage, https://github.com/reyxbo/reyserver/
6
6
  Author-email: Rey <reyxbo@163.com>
@@ -1,11 +1,11 @@
1
1
  reyserver/__init__.py,sha256=7GX64p7uI2eetJH9NJ-DTg-8iyQwOsGcviADFJCPxVA,373
2
2
  reyserver/rall.py,sha256=riyDRTUsigco_Bee1H4aZFb8IgvjnxdX9qcnVb9i9mE,270
3
- reyserver/rauth.py,sha256=JGo5lLTRGoP1SFPyQA-Q5EE-O3OU_86Mb3pvwhvFu-w,15125
3
+ reyserver/rauth.py,sha256=mqyo5FsN4vdW5GRgvZssWcpfku1Dfo_Md8vvoo8JzhU,15122
4
4
  reyserver/rbase.py,sha256=0ECJ1zuUpJhwaNc0u5GvR5VyGxIAnKQep-EdotwnLoE,7752
5
5
  reyserver/rclient.py,sha256=og5YuWm-PODkFn9njBwYQpGlk0j1BfqFuEarlCFSQYI,6229
6
6
  reyserver/rfile.py,sha256=6H5_7B9aiA3F56VToQDI9Trarkrl9gcIuFqYyCVCiCU,8877
7
- reyserver/rserver.py,sha256=fCuf8pDBM2ZdAOlXPzlFcNf63zUGjoTY3VKLoXjNqpo,10562
8
- reyserver-1.1.64.dist-info/METADATA,sha256=WhmSK0M15RiZXyO2e8fxsvScBmkfcZXOKBi24u-Hodo,1666
9
- reyserver-1.1.64.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
10
- reyserver-1.1.64.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
11
- reyserver-1.1.64.dist-info/RECORD,,
7
+ reyserver/rserver.py,sha256=3l6NoAfogeYli5lgHRfLpC9q5k7pwRCiacjN8Yt4fso,11199
8
+ reyserver-1.1.66.dist-info/METADATA,sha256=njJDT00gu53ZHN4sFnbN29vl8qPli9hSvAyfP8bgJo4,1666
9
+ reyserver-1.1.66.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
10
+ reyserver-1.1.66.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
11
+ reyserver-1.1.66.dist-info/RECORD,,