namespace Titanium.Web.Proxy.Helpers
{
    internal enum KnownMethod
    {
        Unknown,
        Invalid,

        // RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
        Connect,
        Delete,
        Get,
        Head,
        Options,
        Post,
        Put,
        Trace,

        // RFC 7540: Hypertext Transfer Protocol Version 2
        Pri,

        // RFC 5789: PATCH Method for HTTP
        Patch,

        // RFC 3744: Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
        Acl,

        // RFC 3253: Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)
        BaselineControl,
        Checkin,
        Checkout,
        Label,
        Merge,
        Mkactivity,
        Mkworkspace,
        Report,
        Unckeckout,
        Update,
        VersionControl,

        // RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol
        Orderpatch,

        // RFC 4437: Web Distributed Authoring and Versioning (WebDAV): Redirect Reference Resources
        Mkredirectref,
        Updateredirectref,
        
        // RFC 4791: Calendaring Extensions to WebDAV (CalDAV)
        Mkcalendar,

        // RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
        Copy,
        Lock,
        Mkcol,
        Move,
        Propfind,
        Proppatch,
        Unlock,

        // RFC 5323: Web Distributed Authoring and Versioning (WebDAV) SEARCH
        Search,

        // 	RFC 5842: Binding Extensions to Web Distributed Authoring and Versioning (WebDAV)
        Bind,
        Rebind,
        Unbind,

        // Internet Draft snell-link-method: HTTP Link and Unlink Methods
        Link,
        Unlink,
    }
}
