syntax = "proto3";

package code.justin.tv.release.trace.common.http;
option go_package = "http";

// https://www.iana.org/assignments/http-methods/http-methods.xhtml
enum Method {
  // invalid, default value
  UNKNOWN = 0;

  // https://tools.ietf.org/html/rfc7231#section-4.3.1  safe, idempotent
  GET = 1;

  // https://tools.ietf.org/html/rfc7231#section-4.3.2  safe, idempotent
  HEAD = 2;

  // https://tools.ietf.org/html/rfc7231#section-4.3.3
  POST = 3;

  // https://tools.ietf.org/html/rfc7231#section-4.3.4  idempotent
  PUT = 4;

  // https://tools.ietf.org/html/rfc7231#section-4.3.5  idempotent
  DELETE = 5;

  // https://tools.ietf.org/html/rfc7231#section-4.3.6
  CONNECT = 6;

  // https://tools.ietf.org/html/rfc7231#section-4.3.7  safe, idempotent
  OPTIONS = 7;

  // https://tools.ietf.org/html/rfc7231#section-4.3.8  safe, idempotent
  TRACE = 8;

  // https://tools.ietf.org/html/rfc5789
  PATCH = 9;
}

