Send a signature request
(&mut self, request: &SignRequest)
| 100 | |
| 101 | /// Send a signature request |
| 102 | async fn request_signature<T>(&mut self, request: &SignRequest) -> Result<T, SignerClientError> |
| 103 | where |
| 104 | T: for<'de> Deserialize<'de>, |
| 105 | { |
| 106 | self.refresh_jwt()?; |
| 107 | |
| 108 | let url = self.url.join(REQUEST_SIGNATURE_PATH)?; |
| 109 | let res = self.client.post(url).json(&request).send().await?; |
| 110 | |
| 111 | let status = res.status(); |
| 112 | let response_bytes = res.bytes().await?; |
| 113 | |
| 114 | if !status.is_success() { |
| 115 | return Err(SignerClientError::FailedRequest { |
| 116 | status: status.as_u16(), |
| 117 | error_msg: String::from_utf8_lossy(&response_bytes).into_owned(), |
| 118 | }); |
| 119 | } |
| 120 | |
| 121 | let signature = serde_json::from_slice(&response_bytes)?; |
| 122 | |
| 123 | Ok(signature) |
| 124 | } |
| 125 | |
| 126 | pub async fn request_consensus_signature( |
| 127 | &mut self, |
no test coverage detected