The view inventory (`GET /refs/views`), composed on the server from the `.view` objects. Read-only WebUI/browse surface used by `atomic view list --remote`.
(&self)
| 29 | /// `.view` objects. Read-only WebUI/browse surface used by |
| 30 | /// `atomic view list --remote`. |
| 31 | pub async fn list_view_refs(&self) -> RemoteResult<Vec<RemoteViewInfo>> { |
| 32 | let url = self.resource_url("refs/views"); |
| 33 | debug!("GET view refs: {url}"); |
| 34 | let response = self |
| 35 | .client |
| 36 | .get(&url) |
| 37 | .send() |
| 38 | .await |
| 39 | .map_err(|e| RemoteError::connection_failed(&url, e))?; |
| 40 | match response.status() { |
| 41 | StatusCode::OK => { |
| 42 | let text = response |
| 43 | .text() |
| 44 | .await |
| 45 | .map_err(|e| RemoteError::connection_failed(&url, e))?; |
| 46 | Ok(text.lines().filter_map(RemoteViewInfo::parse).collect()) |
| 47 | } |
| 48 | StatusCode::NOT_FOUND => Ok(Vec::new()), |
| 49 | s => Err(RemoteError::http( |
| 50 | s.as_u16(), |
| 51 | response.text().await.unwrap_or_default(), |
| 52 | )), |
| 53 | } |
| 54 | } |
| 55 | } |
| 56 | |
| 57 | #[cfg(test)] |
no test coverage detected