MCPcopy Create free account
hub / github.com/bnjbvr/trinity / run_request

Function run_request

modules/wit-sync-request/src/sync_request_world.rs:171–379  ·  view source on GitHub ↗
(req: &Request)

Source from the content-addressed store, hash-verified

169 impl ::core::error::Error for RunRequestError {}
170 #[allow(unused_unsafe, clippy::all)]
171 #[allow(async_fn_in_trait)]
172 pub fn run_request(req: &Request) -> Result<Response, RunRequestError> {
173 unsafe {
174 #[cfg_attr(target_pointer_width = "64", repr(align(8)))]
175 #[cfg_attr(target_pointer_width = "32", repr(align(4)))]
176 struct RetArea(
177 [::core::mem::MaybeUninit<
178 u8,
179 >; 5 * ::core::mem::size_of::<*const u8>()],
180 );
181 let mut ret_area = RetArea(
182 [::core::mem::MaybeUninit::uninit(); 5
183 * ::core::mem::size_of::<*const u8>()],
184 );
185 let Request {
186 verb: verb0,
187 url: url0,
188 headers: headers0,
189 body: body0,
190 } = req;
191 let vec1 = url0;
192 let ptr1 = vec1.as_ptr().cast::<u8>();
193 let len1 = vec1.len();
194 let vec5 = headers0;
195 let len5 = vec5.len();
196 let layout5 = _rt::alloc::Layout::from_size_align(
197 vec5.len() * (4 * ::core::mem::size_of::<*const u8>()),
198 ::core::mem::size_of::<*const u8>(),
199 )
200 .unwrap();
201 let (result5, _cleanup5) = wit_bindgen_rt::Cleanup::new(layout5);
202 for (i, e) in vec5.into_iter().enumerate() {
203 let base = result5
204 .add(i * (4 * ::core::mem::size_of::<*const u8>()));
205 {
206 let RequestHeader { key: key2, value: value2 } = e;
207 let vec3 = key2;
208 let ptr3 = vec3.as_ptr().cast::<u8>();
209 let len3 = vec3.len();
210 *base
211 .add(::core::mem::size_of::<*const u8>())
212 .cast::<usize>() = len3;
213 *base.add(0).cast::<*mut u8>() = ptr3.cast_mut();
214 let vec4 = value2;
215 let ptr4 = vec4.as_ptr().cast::<u8>();
216 let len4 = vec4.len();
217 *base
218 .add(3 * ::core::mem::size_of::<*const u8>())
219 .cast::<usize>() = len4;
220 *base
221 .add(2 * ::core::mem::size_of::<*const u8>())
222 .cast::<*mut u8>() = ptr4.cast_mut();
223 }
224 }
225 let (result7_0, result7_1, result7_2) = match body0 {
226 Some(e) => {
227 let vec6 = e;
228 let ptr6 = vec6.as_ptr().cast::<u8>();

Callers 1

runMethod · 0.85

Calls 4

wit_import9Function · 0.85
RetAreaClass · 0.70
string_liftFunction · 0.70

Tested by

no test coverage detected