diff --git a/lib/codegen/rust/reqwest.dart b/lib/codegen/rust/reqwest.dart index 9c93f697..645d1fcf 100644 --- a/lib/codegen/rust/reqwest.dart +++ b/lib/codegen/rust/reqwest.dart @@ -18,7 +18,7 @@ class RustReqwestCodeGen { String kTemplateBody = """ - let payload = b"{{body}}"; + let payload = r#"{{body}}"#; """; @@ -65,7 +65,7 @@ class RustReqwestCodeGen { } '''; - String kStringRequestBody = """\n .body(payload.to_vec())"""; + String kStringRequestBody = """\n .body(payload)"""; String kStringRequestJson = """\n .json(&payload)"""; @@ -150,14 +150,13 @@ class RustReqwestCodeGen { } var headersList = requestModel.enabledRequestHeaders; - if (headersList != null) { + if (headersList != null || hasBody) { var headers = requestModel.enabledHeadersMap; + if (hasBody) { + headers[HttpHeaders.contentTypeHeader] = + requestModel.requestBodyContentType.header; + } if (headers.isNotEmpty) { - if (hasBody) { - headers[HttpHeaders.contentTypeHeader] = - requestModel.requestBodyContentType.header; - } - var templateHeaders = jj.Template(kTemplateHeaders); result += templateHeaders.render({"headers": headers}); } diff --git a/test/codegen/rust_reqwest_codegen_test.dart b/test/codegen/rust_reqwest_codegen_test.dart index 2030d6ac..8cdb4078 100644 --- a/test/codegen/rust_reqwest_codegen_test.dart +++ b/test/codegen/rust_reqwest_codegen_test.dart @@ -312,13 +312,14 @@ void main() { let client = reqwest::blocking::Client::new(); let url = "https://api.foss42.com/case/lower"; - let payload = b"{ + let payload = r#"{ "text": "I LOVE Flutter" -}"; +}"#; let response = client .post(url) - .body(payload.to_vec()) + .header("content-type", "text/plain") + .body(payload) .send()?; println!("Status Code: {}", response.status());