MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / response_request

Method response_request

backend/src/lib.rs:279–308  ·  view source on GitHub ↗
(&self, target_role: Option<Role>, pl: &S)

Source from the content-addressed store, hash-verified

277 }
278
279 async fn response_request<S>(&self, target_role: Option<Role>, pl: &S) -> Result<()>
280 where
281 S: ?Sized + serde::ser::Serialize + BasePayloadResultProvider,
282 {
283 let server = if self.config.use_target_role_suffix {
284 match target_role {
285 Some(Role::FNS) => format!("{}/fns", self.config.server),
286 Some(Role::SNS) => format!("{}/sns", self.config.server),
287 Some(Role::HNS) => format!("{}/hns", self.config.server),
288 None => self.config.server.clone(),
289 }
290 } else {
291 self.config.server.clone()
292 };
293
294 let bp = pl.base_payload();
295 let body = serde_json::to_string(&pl)?;
296
297 info!(receiver_id = %hex::encode(&bp.base.receiver_id), transaction_id = bp.base.transaction_id, message_type = ?bp.base.message_type, server = %server, "Making request");
298 debug!("JSON: {}", body);
299
300 self.client
301 .post(&server)
302 .headers(self.headers.clone())
303 .body(body)
304 .send()
305 .await?
306 .error_for_status()?;
307 Ok(())
308 }
309
310 async fn request<S, D>(
311 &self,

Callers 4

pr_start_ansMethod · 0.80
pr_stop_ansMethod · 0.80
home_ns_ansMethod · 0.80
xmit_data_ansMethod · 0.80

Calls 2

base_payloadMethod · 0.80
postMethod · 0.80

Tested by

no test coverage detected