diff options
| author | Quentin Gliech <quenting@element.io> | 2024-04-18 12:20:30 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-18 12:20:30 +0200 |
| commit | 09f0957b36cf1b4e9a89f5594df51a853d0dfffe (patch) | |
| tree | 57ad6eb65d833ed18183a19bbf442d341e6ce37d /tests/module_api/test_api.py | |
| parent | Fix remote receipts for events we don't have (#17096) (diff) | |
| download | synapse-09f0957b36cf1b4e9a89f5594df51a853d0dfffe.tar.xz | |
Helpers to transform Twisted requests to Rust http Requests/Responses (#17081)
This adds functions to transform a Twisted request to the
`http::Request`, and then to send back an `http::Response` through it.
It also imports the SynapseError exception so that we can throw that
from Rust code directly
Example usage of this would be:
```rust
use crate::http::{http_request_from_twisted, http_response_to_twisted, HeaderMapPyExt};
fn handler(twisted_request: &PyAny) -> PyResult<()> {
let request = http_request_from_twisted(twisted_request)?;
let ua: headers::UserAgent = request.headers().typed_get_required()?;
if whatever {
return Err((crate::errors::SynapseError::new(
StatusCode::UNAUTHORIZED,
"Whatever".to_owned
"M_UNAUTHORIZED",
None,
None,
)));
}
let response = Response::new("hello".as_bytes());
http_response_to_twisted(twisted_request, response)?;
Ok(())
}
```Diffstat (limited to 'tests/module_api/test_api.py')
0 files changed, 0 insertions, 0 deletions
