mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 11:39:46 -05:00
gnu: Add python-asgi-csrf.
* gnu/packages/python-web.scm (python-asgi-csrf): New variable. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
parent
6d00909968
commit
4bff240e9b
1 changed files with 39 additions and 0 deletions
|
@ -570,6 +570,45 @@ (define-public python-asgiref
|
|||
WSGI. This package includes libraries for implementing ASGI servers.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-asgi-csrf
|
||||
(package
|
||||
(name "python-asgi-csrf")
|
||||
(version "0.9")
|
||||
(source (origin
|
||||
(method git-fetch) ;for tests
|
||||
(uri (git-reference
|
||||
(url "https://github.com/simonw/asgi-csrf")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j134mjh0ff61rvkm3q67m463j1bhyxc9dwsdany3scnd4vsqqws"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-flags
|
||||
;; Provide a null config to avoid the extraneous dependency on
|
||||
;; python-pytest-coverage.
|
||||
#~(list "-c" "/dev/null"
|
||||
;; Disable two failing tests (see:
|
||||
;; https://github.com/simonw/asgi-csrf/issues/24).
|
||||
"-k" (string-append
|
||||
"not (test_multipart "
|
||||
"or test_multipart_failure_wrong_token)"))))
|
||||
(propagated-inputs (list python-itsdangerous python-multipart))
|
||||
(native-inputs (list python-asgi-lifespan
|
||||
python-httpx
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-starlette))
|
||||
(home-page "https://github.com/simonw/asgi-csrf")
|
||||
(synopsis "ASGI middleware for protecting against CSRF attacks")
|
||||
(description "This Asynchronous Server Gateway Interface (ASGI)
|
||||
middleware protects against Cross-site request forgery (CSRF) attacks.
|
||||
It implements the Double Submit Cookie pattern, where a cookie is set
|
||||
that is then compared to a @code{csrftoken} hidden form field or a
|
||||
@code{x-csrftoken} HTTP header.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-asgi-lifespan
|
||||
(package
|
||||
(name "python-asgi-lifespan")
|
||||
|
|
Loading…
Reference in a new issue