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

Method post

chirpstack/src/integration/ifttt.rs:61–97  ·  view source on GitHub ↗
(&self, event: &str, v: &T)

Source from the content-addressed store, hash-verified

59 }
60
61 async fn post<T>(&self, event: &str, v: &T) -> Result<()>
62 where
63 T: Serialize,
64 {
65 let event = if self.event_prefix.is_empty() {
66 event.to_string()
67 } else {
68 format!("{}_{}", self.event_prefix, event)
69 };
70
71 let url = if self.arbitrary_json {
72 format!(
73 "{}/trigger/{}/json/with/key/{}",
74 self.server, event, self.key
75 )
76 } else {
77 format!("{}/trigger/{}/with/key/{}", self.server, event, self.key)
78 };
79
80 let mut headers = HeaderMap::new();
81 headers.insert(CONTENT_TYPE, "application/json".parse().unwrap());
82
83 info!(event = %event, "Sending event to IFTTT");
84 let res = get_client()
85 .post(url)
86 .json(&v)
87 .headers(headers)
88 .send()
89 .await?;
90 match res.error_for_status() {
91 Ok(_) => Ok(()),
92 Err(e) => {
93 warn!(event = %event, error = %e, "Sending event to IFTTT failed");
94 Err(anyhow::Error::new(e))
95 }
96 }
97 }
98}
99
100#[async_trait]

Callers 14

response_requestMethod · 0.80
_requestMethod · 0.80
uplink_eventMethod · 0.80
send_attributesMethod · 0.80
send_telemetryMethod · 0.80
uplink_eventMethod · 0.80
publishMethod · 0.80
publishMethod · 0.80
publishMethod · 0.80
post_eventMethod · 0.80
post_eventMethod · 0.80
uplink_eventMethod · 0.80

Calls 4

to_stringMethod · 0.80
insertMethod · 0.80
unwrapMethod · 0.80
get_clientFunction · 0.70

Tested by

no test coverage detected