//# DO NOT MODIFY.
//# This is autogenerated by `ySwiftCodeUpdater`(https://github.com/YOCKOW/ySwiftCodeUpdater).
//# Please see documents in this project to learn how to regenerate.
//# The material(s) to generate this file was/were obtained from below:
//
// URL: https://www.iana.org/assignments/http-methods/methods.csv
// Last-Modified: 2022-02-03T02:35:28Z

public enum HTTPMethod: String {
  case acl = "ACL"
  case baselineControl = "BASELINE-CONTROL"
  case bind = "BIND"
  case checkin = "CHECKIN"
  case checkout = "CHECKOUT"
  case connect = "CONNECT"
  case copy = "COPY"
  case delete = "DELETE"
  case get = "GET"
  case head = "HEAD"
  case label = "LABEL"
  case link = "LINK"
  case lock = "LOCK"
  case merge = "MERGE"
  case mkactivity = "MKACTIVITY"
  case mkcalendar = "MKCALENDAR"
  case mkcol = "MKCOL"
  case mkredirectref = "MKREDIRECTREF"
  case mkworkspace = "MKWORKSPACE"
  case move = "MOVE"
  case options = "OPTIONS"
  case orderpatch = "ORDERPATCH"
  case patch = "PATCH"
  case post = "POST"
  case pri = "PRI"
  case propfind = "PROPFIND"
  case proppatch = "PROPPATCH"
  case put = "PUT"
  case rebind = "REBIND"
  case report = "REPORT"
  case search = "SEARCH"
  case trace = "TRACE"
  case unbind = "UNBIND"
  case uncheckout = "UNCHECKOUT"
  case unlink = "UNLINK"
  case unlock = "UNLOCK"
  case update = "UPDATE"
  case updateredirectref = "UPDATEREDIRECTREF"
  case versionControl = "VERSION-CONTROL"
}

extension HTTPMethod {
  public init?(rawValue: String) {
    switch rawValue.lowercased() {
    case "acl": self = .acl
    case "baseline-control": self = .baselineControl
    case "bind": self = .bind
    case "checkin": self = .checkin
    case "checkout": self = .checkout
    case "connect": self = .connect
    case "copy": self = .copy
    case "delete": self = .delete
    case "get": self = .get
    case "head": self = .head
    case "label": self = .label
    case "link": self = .link
    case "lock": self = .lock
    case "merge": self = .merge
    case "mkactivity": self = .mkactivity
    case "mkcalendar": self = .mkcalendar
    case "mkcol": self = .mkcol
    case "mkredirectref": self = .mkredirectref
    case "mkworkspace": self = .mkworkspace
    case "move": self = .move
    case "options": self = .options
    case "orderpatch": self = .orderpatch
    case "patch": self = .patch
    case "post": self = .post
    case "pri": self = .pri
    case "propfind": self = .propfind
    case "proppatch": self = .proppatch
    case "put": self = .put
    case "rebind": self = .rebind
    case "report": self = .report
    case "search": self = .search
    case "trace": self = .trace
    case "unbind": self = .unbind
    case "uncheckout": self = .uncheckout
    case "unlink": self = .unlink
    case "unlock": self = .unlock
    case "update": self = .update
    case "updateredirectref": self = .updateredirectref
    case "version-control": self = .versionControl
    default: return nil
    }
  }
}
