Martijn Pieters
72c42325ab
The backend needs an async redis client with a pipeline method
...
The Abstract* classes lack the pipeline method so are not sufficient.
2023-04-27 16:33:43 +01:00
Martijn Pieters
6af14be049
Provide annotation for the session attribute
2023-04-27 16:32:07 +01:00
Martijn Pieters
9c966286b4
Use complete type hints with all generic parameters filled
...
This makes the core fastapi_cache pass all strict type checker tests.
2023-04-27 16:31:42 +01:00
Martijn Pieters
a52f6b1406
Simplify key_builder calling
...
The keybuilder is either returning a string, or a coroutine or other
awaitable. If the latter, await on the return value to get the string.
2023-04-27 16:29:10 +01:00
Martijn Pieters
255f40117b
Define keybuilder protocol
...
This lets others create key builders that are type checked fully.
2023-04-27 16:26:41 +01:00
Martijn Pieters
d4cd787527
JSONResponse.body is UTF-8 bytes and must be decoded
2023-04-27 16:20:12 +01:00
Martijn Pieters
059793d585
Remove a type: ignore comment
...
GIve the type checker more information about the converters instead.
2023-04-27 16:19:02 +01:00
Martijn Pieters
0d0fe1f0d0
Mark up the class variables as such
...
There is never an instance of this class, so these are not instance attributes.
2023-04-27 16:15:06 +01:00
Martijn Pieters
32acafa5e0
Correct type hint: namespace is not optional
...
The namespace argument is positional and will never be `None` so should
not be marked as Optional. It is always a string, and the default is
to pass in an empty string.
2023-04-27 16:11:59 +01:00
long2ice
27acce3160
ci: fix poetry
2023-02-15 10:45:19 +08:00
Naoki Shima
01c895dbbb
Support functions with VAR_KEYWORD parameter
...
decorating function with **kwargs parameter with @cache causes ValueError.
ValueError: wrong parameter order: variadic keyword parameter before keyword-only parameter
We need to inject request / response parameters before VAR_KEYWORD parameter.
2023-02-09 15:14:20 +09:00
long2ice
552a7695e8
Update fastapi_cache/decorator.py
...
Co-authored-by: mkdir700 <56359329+mkdir700@users.noreply.github.com >
2023-02-01 15:33:04 +08:00
hackjammer
ea1ffcd7b4
Add logging to decorator.py on backend failures
2023-01-17 12:15:53 +00:00
hackjammer
e8193b5c22
enabled redis in cluster mode
2023-01-15 21:54:16 +00:00
hackjammer
ab26fad604
passthrough for any type of backend exception
2023-01-15 17:07:37 +00:00
Tobias Schmocker
334b829a80
Merge branch 'master'
...
# Conflicts:
# fastapi_cache/decorator.py
2023-01-14 19:11:42 +01:00
Ivan Moiseev
9a39db7a73
Merge branch 'long2ice:main' into fix/piclke-coder
2023-01-11 16:26:05 +03:00
long2ice
59a47b7fae
chore: set version 0.2.0
2023-01-11 21:20:41 +08:00
vvanglro
ed101595f7
fix: merge master
2023-01-11 16:43:36 +08:00
vvanglro
614ee25d0d
feat: merge master
2023-01-07 13:46:48 +08:00
hackjammer
b420f26e9b
transparent passthrough in the event of backend connection issues
2023-01-05 18:44:40 +00:00
Ivan Moiseev
e23289fcbf
Merge branch 'main' into fix/piclke-coder
2022-12-08 00:23:39 +04:00
long2ice
8f0920d0d7
ci: fix
2022-11-07 16:39:17 +08:00
Ivan Moiseev
cb9fe5c065
fix: PickleCoder and add tests for it.
2022-11-05 13:45:16 +04:00
vvanglro
4cb4afeff0
feat: support cache JSONResponse
2022-11-04 17:31:37 +08:00
vvanglro
a8fbf2b340
fix: request / router KeyError
2022-11-04 16:56:43 +08:00
long2ice
73f000a565
Merge pull request #93 from Mrreadiness/feat/type-hints-covering
...
Feat/type hints covering
2022-11-04 08:51:21 +08:00
long2ice
cda720f534
Merge pull request #74 from Genius-Voice/feature/support-async-keybuilder
...
Add ability to use async function for key_builder
2022-11-03 20:25:27 +08:00
Ivan Moiseev
5881bb9122
Merge branch 'main' into feat/type-hints-covering
...
# Conflicts:
# fastapi_cache/coder.py
# fastapi_cache/decorator.py
2022-11-03 15:53:22 +04:00
Ivan Moiseev
10f819483c
fix: replace pipe for Optional
2022-11-03 15:49:58 +04:00
long2ice
566d30b790
Merge pull request #88 from vvanglro/feat/cache_html
...
feat: support cache jinja2 template response
2022-11-03 19:42:47 +08:00
long2ice
671af52aea
Merge pull request #33 from DevLucca/master
...
add `no-cache` to cache exclusion
2022-10-31 21:51:35 +08:00
Ivan Moiseev
71a77f6b39
fix: request and response type hints
2022-10-30 11:03:16 +04:00
Ivan Moiseev
e555d5e9be
Merge remote-tracking branch 'main/master' into feat/type-hints-covering
...
# Conflicts:
# fastapi_cache/decorator.py
2022-10-30 10:58:02 +04:00
squaresmile
f3f134a318
Added typing to the decorator
2022-10-25 08:58:44 +07:00
squaresmile
5781593829
Added py.typed
2022-10-25 08:50:56 +07:00
Ivan Moiseev
c6bd8483a4
feat: fix tests and add FastAPICache init in tests.
2022-10-22 21:12:04 +04:00
Ivan Moiseev
e842d6408e
feat: make PickleCoder compatible with backends
2022-10-22 21:06:38 +04:00
Ivan Moiseev
68ef94f2db
feat: add more asserts for FastAPICache init
2022-10-22 21:05:43 +04:00
Ivan Moiseev
4c6abcf786
feat: add more type hints
2022-10-22 20:59:37 +04:00
Charl P. Botha
ceb70426f3
Factor out support for optional request / response
2022-10-14 21:58:34 +02:00
Charl P. Botha
d123ec4bfa
Add extra required await
2022-10-14 14:09:31 +02:00
Charl P. Botha
2822ab5d71
Factor out sync handling and use everywhere
2022-10-14 13:44:49 +02:00
vvanglro
7e64cd6490
feat: support cache jinja2 template response
2022-09-28 17:37:05 +08:00
long2ice
cb9259807e
feat: make request and response optional
2022-09-10 20:06:37 +08:00
Yurii Karabas
f310ef5b2d
Use run_in_threadpool instead of asyncio run_in_executor
2022-09-09 19:35:48 +03:00
Jegor Kitskerkin
6cc1e65abb
Add support for async key_builder
2022-08-11 15:16:12 +02:00
thentgesMindee
309d9ce7d1
fix: 🐛 FastAPICache.clear clear whole prefix when namespace is None
2022-08-10 19:31:29 +02:00
Lucca Marques
6dc449b830
Merge branch 'master' into master
2022-08-08 12:40:33 -03:00
Jegor Kitskerkin
d6c52408d2
Add support for normal def functions
2022-08-01 00:06:39 +02:00