@@ -2146,6 +2146,7 @@ enum RegIntrinsic {
21462146 HttpRequestWithHeader,
21472147 HttpRequestWithRetry,
21482148 HttpRequestWithTimeout,
2149+ HttpResponseBytes,
21492150 HttpResponseIsSuccess,
21502151 HttpResponseLines,
21512152 HttpResponseStatus,
@@ -4248,6 +4249,7 @@ impl RegLowerer<'_> {
42484249 ("HttpRequest", "with_header") => RegIntrinsic::HttpRequestWithHeader,
42494250 ("HttpRequest", "with_retry") => RegIntrinsic::HttpRequestWithRetry,
42504251 ("HttpRequest", "with_timeout") => RegIntrinsic::HttpRequestWithTimeout,
4252+ ("HttpResponse", "bytes") => RegIntrinsic::HttpResponseBytes,
42514253 ("HttpResponse", "is_success") => RegIntrinsic::HttpResponseIsSuccess,
42524254 ("HttpResponse", "lines") => RegIntrinsic::HttpResponseLines,
42534255 ("HttpResponse", "status") => RegIntrinsic::HttpResponseStatus,
@@ -9882,6 +9884,12 @@ impl RegVm {
98829884 request.timeout_ms = timeout_ms;
98839885 Ok(request.to_value())
98849886 }
9887+ RegIntrinsic::HttpResponseBytes => {
9888+ let response = intrinsic_arg(&self.stack, base, args, 0)?;
9889+ let text = read_field_ref(response, "body")?;
9890+ let text = expect_string_ref(&text)?;
9891+ Ok(VmValue::Bytes(Rc::new(text.as_bytes().to_vec())))
9892+ }
98859893 RegIntrinsic::HttpResponseIsSuccess => {
98869894 let response = intrinsic_arg(&self.stack, base, args, 0)?;
98879895 let status = expect_int_ref(&read_field_ref(response, "status")?)?;
0 commit comments