digitalocean_api/
method.rs

1//! Marker types for requests.
2
3use std::fmt::Debug;
4
5pub type Limit = usize;
6
7/// A marker trait used by [`Request`](../request/struct.Request.html)
8/// to signal which execution path should be taken.
9pub trait Method: Default + Debug + Clone + Copy {}
10
11/// A list method uses a GET request with pagination.
12///
13/// This method enables the [`limit()`](../request/struct.Request.html#method.limit) call on requests.
14#[derive(Debug, Clone, Copy, Default)]
15pub struct List(pub Option<Limit>);
16impl Method for List {}
17
18/// A get method uses a GET request.
19#[derive(Debug, Clone, Copy, Default)]
20pub struct Get;
21impl Method for Get {}
22
23/// A create method uses a POST request.
24#[derive(Debug, Clone, Copy, Default)]
25pub struct Create;
26impl Method for Create {}
27
28/// An update method uses a PUT request.
29#[derive(Debug, Clone, Copy, Default)]
30pub struct Update;
31impl Method for Update {}
32
33/// A delete method uses a DELETE request.
34#[derive(Debug, Clone, Copy, Default)]
35pub struct Delete;
36impl Method for Delete {}