diff options
Diffstat (limited to 'rust/fatcat-api-spec/src')
| -rw-r--r-- | rust/fatcat-api-spec/src/client.rs | 51 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/lib.rs | 16 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/mimetypes.rs | 8 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/models.rs | 13 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/server.rs | 60 | 
5 files changed, 2 insertions, 146 deletions
| diff --git a/rust/fatcat-api-spec/src/client.rs b/rust/fatcat-api-spec/src/client.rs index eddd99fa..1898f0b5 100644 --- a/rust/fatcat-api-spec/src/client.rs +++ b/rust/fatcat-api-spec/src/client.rs @@ -41,7 +41,7 @@ use {      GetChangelogEntryResponse, GetChangelogResponse, GetContainerEditResponse, GetContainerHistoryResponse, GetContainerRedirectsResponse, GetContainerResponse, GetContainerRevisionResponse,      GetCreatorEditResponse, GetCreatorHistoryResponse, GetCreatorRedirectsResponse, GetCreatorReleasesResponse, GetCreatorResponse, GetCreatorRevisionResponse, GetEditgroupResponse,      GetEditorChangelogResponse, GetEditorResponse, GetFileEditResponse, GetFileHistoryResponse, GetFileRedirectsResponse, GetFileResponse, GetFileRevisionResponse, GetReleaseEditResponse, -    GetReleaseFilesResponse, GetReleaseHistoryResponse, GetReleaseRedirectsResponse, GetReleaseResponse, GetReleaseRevisionResponse, GetStatsResponse, GetWorkEditResponse, GetWorkHistoryResponse, +    GetReleaseFilesResponse, GetReleaseHistoryResponse, GetReleaseRedirectsResponse, GetReleaseResponse, GetReleaseRevisionResponse, GetWorkEditResponse, GetWorkHistoryResponse,      GetWorkRedirectsResponse, GetWorkReleasesResponse, GetWorkResponse, GetWorkRevisionResponse, LookupContainerResponse, LookupCreatorResponse, LookupFileResponse, LookupReleaseResponse,      UpdateContainerResponse, UpdateCreatorResponse, UpdateFileResponse, UpdateReleaseResponse, UpdateWorkResponse,  }; @@ -1935,55 +1935,6 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_stats(&self, param_more: Option<String>, context: &Context) -> Box<Future<Item = GetStatsResponse, Error = ApiError> + Send> { -        // Query parameters -        let query_more = param_more.map_or_else(String::new, |query| format!("more={more}&", more = query.to_string())); - -        let url = format!("{}/v0/stats?{more}", self.base_path, more = utf8_percent_encode(&query_more, QUERY_ENCODE_SET)); - -        let hyper_client = (self.hyper_client)(); -        let request = hyper_client.request(hyper::method::Method::Get, &url); -        let mut custom_headers = hyper::header::Headers::new(); - -        context.x_span_id.as_ref().map(|header| custom_headers.set(XSpanId(header.clone()))); - -        let request = request.headers(custom_headers); - -        // Helper function to provide a code block to use `?` in (to be replaced by the `catch` block when it exists). -        fn parse_response(mut response: hyper::client::response::Response) -> Result<GetStatsResponse, ApiError> { -            match response.status.to_u16() { -                200 => { -                    let mut buf = String::new(); -                    response.read_to_string(&mut buf).map_err(|e| ApiError(format!("Response was not valid UTF8: {}", e)))?; -                    let body = serde_json::from_str::<models::StatsResponse>(&buf)?; - -                    Ok(GetStatsResponse::Success(body)) -                } -                500 => { -                    let mut buf = String::new(); -                    response.read_to_string(&mut buf).map_err(|e| ApiError(format!("Response was not valid UTF8: {}", e)))?; -                    let body = serde_json::from_str::<models::ErrorResponse>(&buf)?; - -                    Ok(GetStatsResponse::GenericError(body)) -                } -                code => { -                    let mut buf = [0; 100]; -                    let debug_body = match response.read(&mut buf) { -                        Ok(len) => match str::from_utf8(&buf[..len]) { -                            Ok(body) => Cow::from(body), -                            Err(_) => Cow::from(format!("<Body was not UTF8: {:?}>", &buf[..len].to_vec())), -                        }, -                        Err(e) => Cow::from(format!("<Failed to read body: {}>", e)), -                    }; -                    Err(ApiError(format!("Unexpected response code {}:\n{:?}\n\n{}", code, response.headers, debug_body))) -                } -            } -        } - -        let result = request.send().map_err(|e| ApiError(format!("No response received: {}", e))).and_then(parse_response); -        Box::new(futures::done(result)) -    } -      fn accept_editgroup(&self, param_editgroup_id: String, context: &Context) -> Box<Future<Item = AcceptEditgroupResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/editgroup/{editgroup_id}/accept", diff --git a/rust/fatcat-api-spec/src/lib.rs b/rust/fatcat-api-spec/src/lib.rs index ba578224..4ba734b1 100644 --- a/rust/fatcat-api-spec/src/lib.rs +++ b/rust/fatcat-api-spec/src/lib.rs @@ -333,14 +333,6 @@ pub enum GetEditorChangelogResponse {  }  #[derive(Debug, PartialEq)] -pub enum GetStatsResponse { -    /// Success -    Success(models::StatsResponse), -    /// Generic Error -    GenericError(models::ErrorResponse), -} - -#[derive(Debug, PartialEq)]  pub enum AcceptEditgroupResponse {      /// Merged Successfully      MergedSuccessfully(models::Success), @@ -881,8 +873,6 @@ pub trait Api {      fn get_editor_changelog(&self, editor_id: String, context: &Context) -> Box<Future<Item = GetEditorChangelogResponse, Error = ApiError> + Send>; -    fn get_stats(&self, more: Option<String>, context: &Context) -> Box<Future<Item = GetStatsResponse, Error = ApiError> + Send>; -      fn accept_editgroup(&self, editgroup_id: String, context: &Context) -> Box<Future<Item = AcceptEditgroupResponse, Error = ApiError> + Send>;      fn create_editgroup(&self, editgroup: models::Editgroup, context: &Context) -> Box<Future<Item = CreateEditgroupResponse, Error = ApiError> + Send>; @@ -1067,8 +1057,6 @@ pub trait ApiNoContext {      fn get_editor_changelog(&self, editor_id: String) -> Box<Future<Item = GetEditorChangelogResponse, Error = ApiError> + Send>; -    fn get_stats(&self, more: Option<String>) -> Box<Future<Item = GetStatsResponse, Error = ApiError> + Send>; -      fn accept_editgroup(&self, editgroup_id: String) -> Box<Future<Item = AcceptEditgroupResponse, Error = ApiError> + Send>;      fn create_editgroup(&self, editgroup: models::Editgroup) -> Box<Future<Item = CreateEditgroupResponse, Error = ApiError> + Send>; @@ -1302,10 +1290,6 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_editor_changelog(editor_id, &self.context())      } -    fn get_stats(&self, more: Option<String>) -> Box<Future<Item = GetStatsResponse, Error = ApiError> + Send> { -        self.api().get_stats(more, &self.context()) -    } -      fn accept_editgroup(&self, editgroup_id: String) -> Box<Future<Item = AcceptEditgroupResponse, Error = ApiError> + Send> {          self.api().accept_editgroup(editgroup_id, &self.context())      } diff --git a/rust/fatcat-api-spec/src/mimetypes.rs b/rust/fatcat-api-spec/src/mimetypes.rs index b94aa6f6..20d3331c 100644 --- a/rust/fatcat-api-spec/src/mimetypes.rs +++ b/rust/fatcat-api-spec/src/mimetypes.rs @@ -404,14 +404,6 @@ pub mod responses {      lazy_static! {          pub static ref GET_EDITOR_CHANGELOG_GENERIC_ERROR: Mime = mime!(Application / Json);      } -    /// Create Mime objects for the response content types for GetStats -    lazy_static! { -        pub static ref GET_STATS_SUCCESS: Mime = mime!(Application / Json); -    } -    /// Create Mime objects for the response content types for GetStats -    lazy_static! { -        pub static ref GET_STATS_GENERIC_ERROR: Mime = mime!(Application / Json); -    }      /// Create Mime objects for the response content types for AcceptEditgroup      lazy_static! {          pub static ref ACCEPT_EDITGROUP_MERGED_SUCCESSFULLY: Mime = mime!(Application / Json); diff --git a/rust/fatcat-api-spec/src/models.rs b/rust/fatcat-api-spec/src/models.rs index d640be42..8f3e525a 100644 --- a/rust/fatcat-api-spec/src/models.rs +++ b/rust/fatcat-api-spec/src/models.rs @@ -723,19 +723,6 @@ impl ReleaseRef {  }  #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct StatsResponse { -    #[serde(rename = "extra")] -    #[serde(skip_serializing_if = "Option::is_none")] -    pub extra: Option<serde_json::Value>, -} - -impl StatsResponse { -    pub fn new() -> StatsResponse { -        StatsResponse { extra: None } -    } -} - -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]  pub struct Success {      #[serde(rename = "message")]      pub message: String, diff --git a/rust/fatcat-api-spec/src/server.rs b/rust/fatcat-api-spec/src/server.rs index 6dec84b9..51b1ac45 100644 --- a/rust/fatcat-api-spec/src/server.rs +++ b/rust/fatcat-api-spec/src/server.rs @@ -43,7 +43,7 @@ use {      GetChangelogEntryResponse, GetChangelogResponse, GetContainerEditResponse, GetContainerHistoryResponse, GetContainerRedirectsResponse, GetContainerResponse, GetContainerRevisionResponse,      GetCreatorEditResponse, GetCreatorHistoryResponse, GetCreatorRedirectsResponse, GetCreatorReleasesResponse, GetCreatorResponse, GetCreatorRevisionResponse, GetEditgroupResponse,      GetEditorChangelogResponse, GetEditorResponse, GetFileEditResponse, GetFileHistoryResponse, GetFileRedirectsResponse, GetFileResponse, GetFileRevisionResponse, GetReleaseEditResponse, -    GetReleaseFilesResponse, GetReleaseHistoryResponse, GetReleaseRedirectsResponse, GetReleaseResponse, GetReleaseRevisionResponse, GetStatsResponse, GetWorkEditResponse, GetWorkHistoryResponse, +    GetReleaseFilesResponse, GetReleaseHistoryResponse, GetReleaseRedirectsResponse, GetReleaseResponse, GetReleaseRevisionResponse, GetWorkEditResponse, GetWorkHistoryResponse,      GetWorkRedirectsResponse, GetWorkReleasesResponse, GetWorkResponse, GetWorkRevisionResponse, LookupContainerResponse, LookupCreatorResponse, LookupFileResponse, LookupReleaseResponse,      UpdateContainerResponse, UpdateCreatorResponse, UpdateFileResponse, UpdateReleaseResponse, UpdateWorkResponse,  }; @@ -2507,64 +2507,6 @@ where      );      let api_clone = api.clone(); -    router.get( -        "/v0/stats", -        move |req: &mut Request| { -            let mut context = Context::default(); - -            // Helper function to provide a code block to use `?` in (to be replaced by the `catch` block when it exists). -            fn handle_request<T>(req: &mut Request, api: &T, context: &mut Context) -> Result<Response, Response> -            where -                T: Api, -            { -                context.x_span_id = Some(req.headers.get::<XSpanId>().map(XSpanId::to_string).unwrap_or_else(|| self::uuid::Uuid::new_v4().to_string())); -                context.auth_data = req.extensions.remove::<AuthData>(); -                context.authorization = req.extensions.remove::<Authorization>(); - -                // Query parameters (note that non-required or collection query parameters will ignore garbage values, rather than causing a 400 response) -                let query_params = req.get::<UrlEncodedQuery>().unwrap_or_default(); -                let param_more = query_params.get("more").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok()); - -                match api.get_stats(param_more, context).wait() { -                    Ok(rsp) => match rsp { -                        GetStatsResponse::Success(body) => { -                            let body_string = serde_json::to_string(&body).expect("impossible to fail to serialize"); - -                            let mut response = Response::with((status::Status::from_u16(200), body_string)); -                            response.headers.set(ContentType(mimetypes::responses::GET_STATS_SUCCESS.clone())); - -                            context.x_span_id.as_ref().map(|header| response.headers.set(XSpanId(header.clone()))); - -                            Ok(response) -                        } -                        GetStatsResponse::GenericError(body) => { -                            let body_string = serde_json::to_string(&body).expect("impossible to fail to serialize"); - -                            let mut response = Response::with((status::Status::from_u16(500), body_string)); -                            response.headers.set(ContentType(mimetypes::responses::GET_STATS_GENERIC_ERROR.clone())); - -                            context.x_span_id.as_ref().map(|header| response.headers.set(XSpanId(header.clone()))); - -                            Ok(response) -                        } -                    }, -                    Err(_) => { -                        // Application code returned an error. This should not happen, as the implementation should -                        // return a valid response. -                        Err(Response::with((status::InternalServerError, "An internal error occurred".to_string()))) -                    } -                } -            } - -            handle_request(req, &api_clone, &mut context).or_else(|mut response| { -                context.x_span_id.as_ref().map(|header| response.headers.set(XSpanId(header.clone()))); -                Ok(response) -            }) -        }, -        "GetStats", -    ); - -    let api_clone = api.clone();      router.post(          "/v0/editgroup/:editgroup_id/accept",          move |req: &mut Request| { | 
