Enum trillium_http::Method
source · #[non_exhaustive]pub enum Method {
Show 40 variants
Acl,
BaselineControl,
Bind,
Checkin,
Checkout,
Connect,
Copy,
Delete,
Get,
Head,
Label,
Link,
Lock,
Merge,
MkActivity,
MkCalendar,
MkCol,
MkRedirectRef,
MkWorkspace,
Move,
Options,
OrderPatch,
Patch,
Post,
Pri,
PropFind,
PropPatch,
Put,
Query,
Rebind,
Report,
Search,
Trace,
Unbind,
Uncheckout,
Unlink,
Unlock,
Update,
UpdateRedirectRef,
VersionControl,
}
Expand description
HTTP request methods.
See also Mozilla’s documentation, the RFC7231, Section 4 and IANA’s Hypertext Transfer Protocol (HTTP) Method Registry.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Acl
The ACL method modifies the access control list (which can be read via the DAV:acl property) of a resource.
See RFC3744, Section 8.1.
BaselineControl
A collection can be placed under baseline control with a BASELINE-CONTROL request.
Bind
The BIND method modifies the collection identified by the Request- URI, by adding a new binding from the segment specified in the BIND body to the resource identified in the BIND body.
See RFC5842, Section 4.
Checkin
A CHECKIN request can be applied to a checked-out version-controlled resource to produce a new version whose content and dead properties are copied from the checked-out resource.
See RFC3253, Section 4.4 and RFC3253, Section 9.4.
Checkout
A CHECKOUT request can be applied to a checked-in version-controlled resource to allow modifications to the content and dead properties of that version-controlled resource.
See RFC3253, Section 4.3 and RFC3253, Section 8.8.
Connect
The CONNECT method requests that the recipient establish a tunnel to the destination origin server identified by the request-target and, if successful, thereafter restrict its behavior to blind forwarding of packets, in both directions, until the tunnel is closed.
Copy
The COPY method creates a duplicate of the source resource identified by the Request-URI, in the destination resource identified by the URI in the Destination header.
See RFC4918, Section 9.8.
Delete
The DELETE method requests that the origin server remove the association between the target resource and its current functionality.
Get
The GET method requests transfer of a current selected representation for the target resource.
Head
The HEAD method is identical to GET except that the server MUST NOT send a message body in the response.
Label
A LABEL request can be applied to a version to modify the labels that select that version.
See RFC3253, Section 8.2.
Link
The LINK method establishes one or more Link relationships between the existing resource identified by the Request-URI and other existing resources.
Lock
The LOCK method is used to take out a lock of any access type and to refresh an existing lock.
Merge
The MERGE method performs the logical merge of a specified version (the “merge source”) into a specified version-controlled resource (the “merge target”).
MkActivity
A MKACTIVITY request creates a new activity resource.
MkCalendar
An HTTP request using the MKCALENDAR method creates a new calendar collection resource.
MkCol
MKCOL creates a new collection resource at the location specified by the Request-URI.
See RFC4918, Section 9.3, RFC5689, Section 3 and RFC8144, Section 2.3.
MkRedirectRef
The MKREDIRECTREF method requests the creation of a redirect reference resource.
See RFC4437, Section 6.
MkWorkspace
A MKWORKSPACE request creates a new workspace resource.
See RFC3253, Section 6.3.
Move
The MOVE operation on a non-collection resource is the logical equivalent of a copy (COPY), followed by consistency maintenance processing, followed by a delete of the source, where all three actions are performed in a single operation.
See RFC4918, Section 9.9.
Options
The OPTIONS method requests information about the communication options available for the target resource, at either the origin server or an intervening intermediary.
OrderPatch
The ORDERPATCH method is used to change the ordering semantics of a collection, to change the order of the collection’s members in the ordering, or both.
See RFC3648, Section 7.
Patch
The PATCH method requests that a set of changes described in the request entity be applied to the resource identified by the Request- URI.
See RFC5789, Section 2.
Post
The POST method requests that the target resource process the representation enclosed in the request according to the resource’s own specific semantics.
For example, POST is used for the following functions (among others):
- Providing a block of data, such as the fields entered into an HTML form, to a data-handling process;
- Posting a message to a bulletin board, newsgroup, mailing list, blog, or similar group of articles;
- Creating a new resource that has yet to be identified by the origin server; and
- Appending data to a resource’s existing representation(s).
Pri
This method is never used by an actual client. This method will appear to be used when an HTTP/1.1 server or intermediary attempts to parse an HTTP/2 connection preface.
PropFind
The PROPFIND method retrieves properties defined on the resource identified by the Request-URI.
See RFC4918, Section 9.1 and RFC8144, Section 2.1.
PropPatch
The PROPPATCH method processes instructions specified in the request body to set and/or remove properties defined on the resource identified by the Request-URI.
See RFC4918, Section 9.2 and RFC8144, Section 2.2.
Put
The PUT method requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.
Query
The QUERY method is used to initiate a server-side query. Unlike the HTTP GET method, which requests that a server return a representation of the resource identified by the target URI, the QUERY method is used to ask the server to perform a query operation (described by the request payload) over some set of data scoped to the effective request URI. See draft-ietf-httpbis-safe-method-w-body-03
NOTE: As of January 2023, this draft has expired.
Rebind
The REBIND method removes a binding to a resource from a collection, and adds a binding to that resource into the collection identified by the Request-URI.
See RFC5842, Section 6.
Report
A REPORT request is an extensible mechanism for obtaining information about a resource.
See RFC3253, Section 3.6 and RFC8144, Section 2.1.
Search
The client invokes the SEARCH method to initiate a server-side search. The body of the request defines the query.
See RFC5323, Section 2.
Trace
The TRACE method requests a remote, application-level loop-back of the request message.
Unbind
The UNBIND method modifies the collection identified by the Request- URI by removing the binding identified by the segment specified in the UNBIND body.
See RFC5842, Section 5.
Uncheckout
An UNCHECKOUT request can be applied to a checked-out version-controlled resource to cancel the CHECKOUT and restore the pre-CHECKOUT state of the version-controlled resource.
See RFC3253, Section 4.5.
Unlink
The UNLINK method removes one or more Link relationships from the existing resource identified by the Request-URI.
Unlock
The UNLOCK method removes the lock identified by the lock token in the Lock-Token request header.
Update
The UPDATE method modifies the content and dead properties of a checked-in version-controlled resource (the “update target”) to be those of a specified version (the “update source”) from the version history of that version-controlled resource.
See RFC3253, Section 7.1.
UpdateRedirectRef
The UPDATEREDIRECTREF method requests the update of a redirect reference resource.
See RFC4437, Section 7.
VersionControl
A VERSION-CONTROL request can be used to create a version-controlled resource at the request-URL.
See RFC3253, Section 3.5.
Implementations§
source§impl Method
impl Method
sourcepub const fn is_safe(&self) -> bool
pub const fn is_safe(&self) -> bool
Predicate that returns whether the method is “safe.”
Request methods are considered “safe” if their defined semantics are essentially read-only; i.e., the client does not request, and does not expect, any state change on the origin server as a result of applying a safe method to a target resource.
sourcepub const fn is_idempotent(&self) -> bool
pub const fn is_idempotent(&self) -> bool
predicate that returns whether this method is considered “idempotent”.
A request method is considered “idempotent” if the intended effect on the server of multiple identical requests with that method is the same as the effect for a single such request.
Trait Implementations§
source§impl Ord for Method
impl Ord for Method
source§impl PartialEq for Method
impl PartialEq for Method
source§impl PartialOrd for Method
impl PartialOrd for Method
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Method
impl Eq for Method
impl StructuralPartialEq for Method
Auto Trait Implementations§
impl Freeze for Method
impl RefUnwindSafe for Method
impl Send for Method
impl Sync for Method
impl Unpin for Method
impl UnwindSafe for Method
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)