Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
VC
rust-gitlab
Commits
acc00434
Commit
acc00434
authored
Feb 17, 2017
by
Ben Boeckel
⛰
Browse files
gitlab: add methods for `PUT` requests
parent
0575d152
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/gitlab.rs
View file @
acc00434
...
...
@@ -7,7 +7,7 @@
// except according to those terms.
extern
crate
reqwest
;
use
self
::
reqwest
::{
Client
,
RequestBuilder
,
Url
};
use
self
::
reqwest
::{
Client
,
Method
,
RequestBuilder
,
Url
};
extern
crate
serde
;
use
self
::
serde
::{
Deserialize
,
Deserializer
,
Serializer
};
...
...
@@ -486,6 +486,22 @@ impl Gitlab {
self
._comm
(
req
)
}
/// Create a `PUT` request to an API endpoint.
fn
_put
<
T
:
Deserialize
>
(
&
self
,
url
:
&
str
)
->
Result
<
T
>
{
let
param
:
&
[(
&
str
,
&
str
)]
=
&
[];
self
._put_with_param
(
url
,
param
)
}
/// Create a `PUT` request to an API endpoint with query parameters.
fn
_put_with_param
<
T
,
U
>
(
&
self
,
url
:
&
str
,
param
:
U
)
->
Result
<
T
>
where
T
:
Deserialize
,
U
:
Serialize
,
{
let
full_url
=
self
._mk_url
(
url
)
?
;
let
req
=
Client
::
new
()
.chain_err
(||
ErrorKind
::
Communication
)
?
.request
(
Method
::
Put
,
full_url
)
.form
(
&
param
);
self
._comm
(
req
)
}
/// Handle paginated queries. Returns all results.
fn
_get_paged
<
T
:
Deserialize
>
(
&
self
,
url
:
&
str
)
->
Result
<
Vec
<
T
>>
{
let
param
:
&
[(
&
str
,
&
str
)]
=
&
[];
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment