mirror of
https://github.com/headroomlabs-ai/headroom.git
synced 2026-08-27 14:17:10 -04:00
ci: bump pyo3 from 0.22.6 to 0.24.1 in the cargo group across 1 directory (#270)
Bumps the cargo group with 1 update in the / directory: [pyo3](https://github.com/pyo3/pyo3). Updates `pyo3` from 0.22.6 to 0.24.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pyo3/pyo3/releases">pyo3's releases</a>.</em></p> <blockquote> <h2>PyO3 0.24.1</h2> <p>This release is a security fix for the <code>PyString::from_object</code> method, which passed <code>&str</code> data to the Python C API without checking for a terminating nul byte. All historical PyO3 versions are affected, and we recommend you upgrade if you are using <code>PyString::from_object</code>. Thank you to <a href="https://github.com/vthib"><code>@vthib</code></a> for the report and <a href="https://github.com/Dr-Emann"><code>@Dr-Emann</code></a> for the fix. A RUSTSEC advisory will be published shortly.</p> <p>Aside from the security fix, this release contains a number of other non-breaking additions:</p> <ul> <li>An <code>abi3-py313</code> feature to support compiling with the Python 3.13 stable ABI.</li> <li><code>PyAnyMethods::getattr_opt</code> to get optional attributes without paying the cost of a Python exception when the attribute in question does not exist.</li> <li>Constructor for <code>PyInt::new</code>.</li> <li><code>with_critical_section2</code> for locking two objects at the same time on the free-threaded build.</li> <li>Fix for a PyO3 0.24.0 regression with <code>Option<&str></code> and <code>Option<&T></code> (where <code>T: PyClass</code>) function arguments no longer being permitted</li> </ul> <p>There are also a few other small bug fixes for edge cases, mostly related to compile errors from PyO3's macro code.</p> <p>Thank you to the following contributors for the improvements:</p> <p><a href="https://github.com/bschoenmaeckers"><code>@bschoenmaeckers</code></a> <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> <a href="https://github.com/Dr-Emann"><code>@Dr-Emann</code></a> <a href="https://github.com/emmagordon"><code>@emmagordon</code></a> <a href="https://github.com/epontan"><code>@epontan</code></a> <a href="https://github.com/Icxolu"><code>@Icxolu</code></a> <a href="https://github.com/IvanIsCoding"><code>@IvanIsCoding</code></a> <a href="https://github.com/jelmer"><code>@jelmer</code></a> <a href="https://github.com/jonaspleyer"><code>@jonaspleyer</code></a> <a href="https://github.com/ngoldbaum"><code>@ngoldbaum</code></a> <a href="https://github.com/Owen-CH-Leung"><code>@Owen-CH-Leung</code></a> <a href="https://github.com/Tpt"><code>@Tpt</code></a> <a href="https://github.com/Trolldemorted"><code>@Trolldemorted</code></a> <a href="https://github.com/XuehaiPan"><code>@XuehaiPan</code></a></p> <h2>PyO3 0.24.0</h2> <p>This release is an incremental improvement of refinements and optimizations following the new APIs established in PyO3's last few releases.</p> <p>Support for <code>jiff</code> datetime conversions have been added, and also UUID conversions.</p> <p>The <code>FromPyObject</code> derive macro has gained new <code>#[pyo3(default = ...)]</code> and <code>#[pyo3(rename_all = ...)]</code> options, and the <code>IntoPyObject</code> derive macro has gained a new <code>#[pyo3(into_py_with = ...)]</code> option.</p> <p>PyO3 will now pass positional arguments to Python functions using the "vectorcall" protocol in many cases, which should be an optimization over the previous behaviour (of creating a Python tuple of positional arguments).</p> <p>Many methods on iterators of Python collections have been optimized.</p> <p>There are also many other incremental improvements, bug fixes and smaller features.</p> <p>Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:</p> <p><a href="https://github.com/0x676e67"><code>@0x676e67</code></a> <a href="https://github.com/alex"><code>@alex</code></a> <a href="https://github.com/arielb1"><code>@arielb1</code></a> <a href="https://github.com/bschoenmaeckers"><code>@bschoenmaeckers</code></a> <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md">pyo3's changelog</a>.</em></p> <blockquote> <h2>[0.24.1] - 2025-03-31</h2> <h3>Added</h3> <ul> <li>Add <code>abi3-py313</code> feature. <a href="https://redirect.github.com/PyO3/pyo3/pull/4969">#4969</a></li> <li>Add <code>PyAnyMethods::getattr_opt</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4978">#4978</a></li> <li>Add <code>PyInt::new</code> constructor for all supported number types (i32, u32, i64, u64, isize, usize). <a href="https://redirect.github.com/PyO3/pyo3/pull/4984">#4984</a></li> <li>Add <code>pyo3::sync::with_critical_section2</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4992">#4992</a></li> <li>Implement <code>PyCallArgs</code> for <code>Borrowed<'_, 'py, PyTuple></code>, <code>&Bound<'py, PyTuple></code>, and <code>&Py<PyTuple></code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5013">#5013</a></li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>is_type_of</code> for native types not using same specialized check as <code>is_type_of_bound</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4981">#4981</a></li> <li>Fix <code>Probe</code> class naming issue with <code>#[pymethods]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4988">#4988</a></li> <li>Fix compile failure with required <code>#[pyfunction]</code> arguments taking <code>Option<&str></code> and <code>Option<&T></code> (for <code>#[pyclass]</code> types). <a href="https://redirect.github.com/PyO3/pyo3/pull/5002">#5002</a></li> <li>Fix <code>PyString::from_object</code> causing of bounds reads with <code>encoding</code> and <code>errors</code> parameters which are not nul-terminated. <a href="https://redirect.github.com/PyO3/pyo3/pull/5008">#5008</a></li> <li>Fix compile error when additional options follow after <code>crate</code> for <code>#[pyfunction]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5015">#5015</a></li> </ul> <h2>[0.24.0] - 2025-03-09</h2> <h3>Packaging</h3> <ul> <li>Add supported CPython/PyPy versions to cargo package metadata. <a href="https://redirect.github.com/PyO3/pyo3/pull/4756">#4756</a></li> <li>Bump <code>target-lexicon</code> dependency to 0.13. <a href="https://redirect.github.com/PyO3/pyo3/pull/4822">#4822</a></li> <li>Add optional <code>jiff</code> dependency to add conversions for <code>jiff</code> datetime types. <a href="https://redirect.github.com/PyO3/pyo3/pull/4823">#4823</a></li> <li>Add optional <code>uuid</code> dependency to add conversions for <code>uuid::Uuid</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4864">#4864</a></li> <li>Bump minimum supported <code>inventory</code> version to 0.3.5. <a href="https://redirect.github.com/PyO3/pyo3/pull/4954">#4954</a></li> </ul> <h3>Added</h3> <ul> <li>Add <code>PyIterator::send</code> method to allow sending values into a python generator. <a href="https://redirect.github.com/PyO3/pyo3/pull/4746">#4746</a></li> <li>Add <code>PyCallArgs</code> trait for passing arguments into the Python calling protocol. This enabled using a faster calling convention for certain types, improving performance. <a href="https://redirect.github.com/PyO3/pyo3/pull/4768">#4768</a></li> <li>Add <code>#[pyo3(default = ...']</code> option for <code>#[derive(FromPyObject)]</code> to set a default value for extracted fields of named structs. <a href="https://redirect.github.com/PyO3/pyo3/pull/4829">#4829</a></li> <li>Add <code>#[pyo3(into_py_with = ...)]</code> option for <code>#[derive(IntoPyObject, IntoPyObjectRef)]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4850">#4850</a></li> <li>Add FFI definitions <code>PyThreadState_GetFrame</code> and <code>PyFrame_GetBack</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4866">#4866</a></li> <li>Optimize <code>last</code> for <code>BoundListIterator</code>, <code>BoundTupleIterator</code> and <code>BorrowedTupleIterator</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4878">#4878</a></li> <li>Optimize <code>Iterator::count()</code> for <code>PyDict</code>, <code>PyList</code>, <code>PyTuple</code> & <code>PySet</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4878">#4878</a></li> <li>Optimize <code>nth</code>, <code>nth_back</code>, <code>advance_by</code> and <code>advance_back_by</code> for <code>BoundTupleIterator</code> <a href="https://redirect.github.com/PyO3/pyo3/pull/4897">#4897</a></li> <li>Add support for <code>types.GenericAlias</code> as <code>pyo3::types::PyGenericAlias</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4917">#4917</a></li> <li>Add <code>MutextExt</code> trait to help avoid deadlocks with the GIL while locking a <code>std::sync::Mutex</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4934">#4934</a></li> <li>Add <code>#[pyo3(rename_all = "...")]</code> option for <code>#[derive(FromPyObject)]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4941">#4941</a></li> </ul> <h3>Changed</h3> <ul> <li>Optimize <code>nth</code>, <code>nth_back</code>, <code>advance_by</code> and <code>advance_back_by</code> for <code>BoundListIterator</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4810">#4810</a></li> <li>Use <code>DerefToPyAny</code> in blanket implementations of <code>From<Py<T>></code> and <code>From<Bound<'py, T>></code> for <code>PyObject</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4593">#4593</a></li> <li>Map <code>io::ErrorKind::IsADirectory</code>/<code>NotADirectory</code> to the corresponding Python exception on Rust 1.83+. <a href="https://redirect.github.com/PyO3/pyo3/pull/4747">#4747</a></li> <li><code>PyAnyMethods::call</code> and friends now require <code>PyCallArgs</code> for their positional arguments. <a href="https://redirect.github.com/PyO3/pyo3/pull/4768">#4768</a></li> <li>Expose FFI definitions for <code>PyObject_Vectorcall(Method)</code> on the stable abi on 3.12+. <a href="https://redirect.github.com/PyO3/pyo3/pull/4853">#4853</a></li> <li><code>#[pyo3(from_py_with = ...)]</code> now take a path rather than a string literal <a href="https://redirect.github.com/PyO3/pyo3/pull/4860">#4860</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="a213b368bd"><code>a213b36</code></a> release: 0.24.1 (<a href="https://redirect.github.com/pyo3/pyo3/issues/5021">#5021</a>)</li> <li><a href="d85a02d9b1"><code>d85a02d</code></a> split <code>PyFunctionArgument</code> to specialize <code>Option</code> (<a href="https://redirect.github.com/pyo3/pyo3/issues/5002">#5002</a>)</li> <li><a href="c37a50a7a3"><code>c37a50a</code></a> Add example of more complex exceptions (<a href="https://redirect.github.com/pyo3/pyo3/issues/5014">#5014</a>)</li> <li><a href="dcacb9bbbc"><code>dcacb9b</code></a> Simplify PyFunctionArgument impl on &Bound<T> (<a href="https://redirect.github.com/pyo3/pyo3/issues/5018">#5018</a>)</li> <li><a href="03c31c5c7a"><code>03c31c5</code></a> fix <code>#[pyfunction]</code> option parsing (<a href="https://redirect.github.com/pyo3/pyo3/issues/5015">#5015</a>)</li> <li><a href="0f49eb14b0"><code>0f49eb1</code></a> docs: Remove examples with outdated PyO3 and unmaintained projects (<a href="https://redirect.github.com/pyo3/pyo3/issues/4952">#4952</a>)</li> <li><a href="1b00b0d27f"><code>1b00b0d</code></a> implement <code>PyCallArgs</code> for borrowed types (<a href="https://redirect.github.com/pyo3/pyo3/issues/5013">#5013</a>)</li> <li><a href="5caaa371dc"><code>5caaa37</code></a> fix: convert to cstrings in PyString::from_object (<a href="https://redirect.github.com/pyo3/pyo3/issues/5008">#5008</a>)</li> <li><a href="4aca459fd3"><code>4aca459</code></a> docs: guide - add link to tables and traits (<a href="https://redirect.github.com/pyo3/pyo3/issues/5001">#5001</a>)</li> <li><a href="0452c0ee52"><code>0452c0e</code></a> replace quansight-labs/setup-python with actions/setup-python (<a href="https://redirect.github.com/pyo3/pyo3/issues/5007">#5007</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pyo3/pyo3/compare/v0.22.6...v0.24.1">compare view</a></li> </ul> </details> <br /> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JerrettDavis <mxjerrett@gmail.com>
This commit is contained in:
parent
b723874d12
commit
4ff7b4426d
3 changed files with 31 additions and 32 deletions
24
Cargo.lock
generated
24
Cargo.lock
generated
|
|
@ -3199,9 +3199,9 @@ checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f"
|
|||
|
||||
[[package]]
|
||||
name = "pyo3"
|
||||
version = "0.22.6"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884"
|
||||
checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"indoc",
|
||||
|
|
@ -3217,9 +3217,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pyo3-build-config"
|
||||
version = "0.22.6"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38"
|
||||
checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"target-lexicon",
|
||||
|
|
@ -3227,9 +3227,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pyo3-ffi"
|
||||
version = "0.22.6"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636"
|
||||
checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"pyo3-build-config",
|
||||
|
|
@ -3237,9 +3237,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pyo3-macros"
|
||||
version = "0.22.6"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453"
|
||||
checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"pyo3-macros-backend",
|
||||
|
|
@ -3249,9 +3249,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pyo3-macros-backend"
|
||||
version = "0.22.6"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe"
|
||||
checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
|
|
@ -4082,9 +4082,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "target-lexicon"
|
||||
version = "0.12.16"
|
||||
version = "0.13.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
|
||||
checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread", "signal"] }
|
|||
axum = "0.7"
|
||||
tower = "0.5"
|
||||
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
|
||||
pyo3 = { version = "0.22", features = ["abi3-py310"] }
|
||||
pyo3 = { version = "0.24", features = ["abi3-py310"] }
|
||||
# Phase D PR-D1: AWS SigV4 signing for native Bedrock InvokeModel route.
|
||||
# `aws-sigv4` provides the canonical-request + signing-key implementation;
|
||||
# `aws-config` resolves credentials from the standard provider chain
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ use headroom_core::transforms::{
|
|||
SearchCompressorConfig as RustSearchConfig, SearchCompressorStats as RustSearchStats,
|
||||
};
|
||||
use pyo3::prelude::*;
|
||||
use pyo3::types::{PyBytes, PyDict, PyString};
|
||||
use pyo3::types::{PyBytes, PyDict};
|
||||
|
||||
/// Identity stub used by the Python smoke test to verify linkage.
|
||||
#[pyfunction]
|
||||
|
|
@ -75,7 +75,7 @@ fn build_crush_array_dict<'py>(
|
|||
compacted: Option<String>,
|
||||
compaction_kind: Option<&'static str>,
|
||||
) -> Bound<'py, PyDict> {
|
||||
let dict = PyDict::new_bound(py);
|
||||
let dict = PyDict::new(py);
|
||||
dict.set_item("items", kept_json).unwrap();
|
||||
dict.set_item("ccr_hash", ccr_hash).unwrap();
|
||||
dict.set_item("dropped_summary", dropped_summary).unwrap();
|
||||
|
|
@ -859,32 +859,31 @@ impl PyDetectionResult {
|
|||
/// the underlying Rust value.
|
||||
#[getter]
|
||||
fn metadata<'py>(&self, py: Python<'py>) -> PyResult<Bound<'py, PyDict>> {
|
||||
let dict = PyDict::new_bound(py);
|
||||
let dict = PyDict::new(py);
|
||||
for (k, v) in &self.inner.metadata {
|
||||
// Convert each JSON value into the closest Python primitive.
|
||||
// Detection metadata is always a flat dict of scalars (ints,
|
||||
// bools, strings) so we don't need to recurse.
|
||||
let py_value: PyObject = match v {
|
||||
serde_json::Value::Bool(b) => b.into_py(py),
|
||||
match v {
|
||||
serde_json::Value::Bool(b) => dict.set_item(k, b)?,
|
||||
serde_json::Value::Number(n) => {
|
||||
if let Some(i) = n.as_u64() {
|
||||
i.into_py(py)
|
||||
dict.set_item(k, i)?
|
||||
} else if let Some(i) = n.as_i64() {
|
||||
i.into_py(py)
|
||||
dict.set_item(k, i)?
|
||||
} else if let Some(f) = n.as_f64() {
|
||||
f.into_py(py)
|
||||
dict.set_item(k, f)?
|
||||
} else {
|
||||
py.None()
|
||||
dict.set_item(k, py.None())?
|
||||
}
|
||||
}
|
||||
serde_json::Value::String(s) => PyString::new_bound(py, s).into_py(py),
|
||||
serde_json::Value::Null => py.None(),
|
||||
serde_json::Value::String(s) => dict.set_item(k, s)?,
|
||||
serde_json::Value::Null => dict.set_item(k, py.None())?,
|
||||
// Detection never emits arrays / objects in metadata
|
||||
// today; if it ever does, fall through to JSON-string for
|
||||
// visibility rather than silently dropping.
|
||||
other => PyString::new_bound(py, &other.to_string()).into_py(py),
|
||||
other => dict.set_item(k, other.to_string())?,
|
||||
};
|
||||
dict.set_item(k, py_value)?;
|
||||
}
|
||||
Ok(dict)
|
||||
}
|
||||
|
|
@ -1019,7 +1018,7 @@ fn content_has_error_indicators(text: &str) -> bool {
|
|||
#[pyfunction]
|
||||
fn keyword_registry_snapshot(py: Python<'_>) -> Py<PyDict> {
|
||||
let registry = KeywordRegistry::default_set();
|
||||
let dict = PyDict::new_bound(py);
|
||||
let dict = PyDict::new(py);
|
||||
for (key, words) in registry.as_map() {
|
||||
dict.set_item(key, words).unwrap();
|
||||
}
|
||||
|
|
@ -1130,7 +1129,7 @@ impl PySearchCompressionResult {
|
|||
}
|
||||
#[getter]
|
||||
fn summaries<'py>(&self, py: Python<'py>) -> Bound<'py, PyDict> {
|
||||
let dict = PyDict::new_bound(py);
|
||||
let dict = PyDict::new(py);
|
||||
for (k, v) in &self.inner.summaries {
|
||||
dict.set_item(k, v).unwrap();
|
||||
}
|
||||
|
|
@ -1330,7 +1329,7 @@ impl PyLogCompressionResult {
|
|||
}
|
||||
#[getter]
|
||||
fn stats<'py>(&self, py: Python<'py>) -> Bound<'py, PyDict> {
|
||||
let dict = PyDict::new_bound(py);
|
||||
let dict = PyDict::new(py);
|
||||
for (k, v) in &self.inner.stats {
|
||||
dict.set_item(k, v).unwrap();
|
||||
}
|
||||
|
|
@ -1522,7 +1521,7 @@ fn compress_openai_responses_live_zone(
|
|||
.collect();
|
||||
let reason = rust_summarize_openai_responses_no_change_reason(&manifest).to_string();
|
||||
(
|
||||
PyBytes::new_bound(py, body).unbind(),
|
||||
PyBytes::new(py, body).unbind(),
|
||||
false,
|
||||
saved,
|
||||
transforms,
|
||||
|
|
@ -1540,7 +1539,7 @@ fn compress_openai_responses_live_zone(
|
|||
.map(String::from)
|
||||
.collect();
|
||||
(
|
||||
PyBytes::new_bound(py, bytes).unbind(),
|
||||
PyBytes::new(py, bytes).unbind(),
|
||||
true,
|
||||
saved,
|
||||
transforms,
|
||||
|
|
@ -1551,7 +1550,7 @@ fn compress_openai_responses_live_zone(
|
|||
// BodyNotJson / NoMessagesArray are non-fatal: nothing to
|
||||
// compress, fall through to passthrough byte-for-byte.
|
||||
(
|
||||
PyBytes::new_bound(py, body).unbind(),
|
||||
PyBytes::new(py, body).unbind(),
|
||||
false,
|
||||
0,
|
||||
Vec::new(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue