package play.api.http
object ContentTypes extends ContentTypes
trait ContentTypes {
import play.api.mvc.Codec
def TEXT(implicit codec: Codec) = withCharset(MimeTypes.TEXT)
def HTML(implicit codec: Codec) = withCharset(MimeTypes.HTML)
def JSON(implicit codec: Codec) = withCharset(MimeTypes.JSON)
def XML(implicit codec: Codec) = withCharset(MimeTypes.XML)
def CSS(implicit codec: Codec) = withCharset(MimeTypes.CSS)
def JAVASCRIPT(implicit codec: Codec) = withCharset(MimeTypes.JAVASCRIPT)
def FORM(implicit codec: Codec) = withCharset(MimeTypes.FORM)
def EVENT_STREAM(implicit codec: Codec) = withCharset(MimeTypes.EVENT_STREAM)
val CACHE_MANIFEST = withCharset(MimeTypes.CACHE_MANIFEST)(Codec.utf_8)
val BINARY = MimeTypes.BINARY
def withCharset(mimeType: String)(implicit codec: Codec) = mimeType + "; charset=" + codec.charset
}
object HttpVerbs extends HttpVerbs
trait HttpVerbs {
val GET = "GET"
val POST = "POST"
val PUT = "PUT"
val PATCH = "PATCH"
val DELETE = "DELETE"
val HEAD = "HEAD"
val OPTIONS = "OPTIONS"
}
object MimeTypes extends MimeTypes
trait MimeTypes {
val TEXT = "text/plain"
val HTML = "text/html"
val JSON = "application/json"
val XML = "application/xml"
val CSS = "text/css"
val JAVASCRIPT = "text/javascript"
val FORM = "application/x-www-form-urlencoded"
val EVENT_STREAM = "text/event-stream"
val BINARY = "application/octet-stream"
val CACHE_MANIFEST = "text/cache-manifest"
}
object Status extends Status
trait Status {
val CONTINUE = 100
val SWITCHING_PROTOCOLS = 101
val OK = 200
val CREATED = 201
val ACCEPTED = 202
val NON_AUTHORITATIVE_INFORMATION = 203
val NO_CONTENT = 204
val RESET_CONTENT = 205
val PARTIAL_CONTENT = 206
val MULTI_STATUS = 207
val MULTIPLE_CHOICES = 300
val MOVED_PERMANENTLY = 301
val FOUND = 302
val SEE_OTHER = 303
val NOT_MODIFIED = 304
val USE_PROXY = 305
val TEMPORARY_REDIRECT = 307
val BAD_REQUEST = 400
val UNAUTHORIZED = 401
val PAYMENT_REQUIRED = 402
val FORBIDDEN = 403
val NOT_FOUND = 404
val METHOD_NOT_ALLOWED = 405
val NOT_ACCEPTABLE = 406
val PROXY_AUTHENTICATION_REQUIRED = 407
val REQUEST_TIMEOUT = 408
val CONFLICT = 409
val GONE = 410
val LENGTH_REQUIRED = 411
val PRECONDITION_FAILED = 412
val REQUEST_ENTITY_TOO_LARGE = 413
val REQUEST_URI_TOO_LONG = 414
val UNSUPPORTED_MEDIA_TYPE = 415
val REQUESTED_RANGE_NOT_SATISFIABLE = 416
val EXPECTATION_FAILED = 417
val UNPROCESSABLE_ENTITY = 422
val LOCKED = 423
val FAILED_DEPENDENCY = 424
val TOO_MANY_REQUEST = 429
val INTERNAL_SERVER_ERROR = 500
val NOT_IMPLEMENTED = 501
val BAD_GATEWAY = 502
val SERVICE_UNAVAILABLE = 503
val GATEWAY_TIMEOUT = 504
val HTTP_VERSION_NOT_SUPPORTED = 505
val INSUFFICIENT_STORAGE = 507
}
object extends HeaderNames
trait {
val = "Accept"
val = "Accept-Charset"
val = "Accept-Encoding"
val = "Accept-Language"
val = "Accept-Ranges"
val = "Age"
val = "Allow"
val = "Authorization"
val = "Cache-Control"
val = "Connection"
val = "Content-Disposition"
val = "Content-Encoding"
val = "Content-Language"
val = "Content-Length"
val = "Content-Location"
val = "Content-MD5"
val = "Content-Range"
val = "Content-Transfer-Encoding"
val = "Content-Type"
val = "Cookie"
val = "Date"
val = "ETag"
val = "Expect"
val = "Expires"
val = "From"
val = "Host"
val = "If-Match"
val = "If-Modified-Since"
val = "If-None-Match"
val = "If-Range"
val = "If-Unmodified-Since"
val = "Last-Modified"
val = "Location"
val = "Max-Forwards"
val = "Pragma"
val = "Proxy-Authenticate"
val = "Proxy-Authorization"
val = "Range"
val = "Referer"
val = "Retry-After"
val = "Server"
val = "Set-Cookie"
val = "Set-Cookie2"
val = "Te"
val = "Trailer"
val = "Transfer-Encoding"
val = "Upgrade"
val = "User-Agent"
val = "Vary"
val = "Via"
val = "Warning"
val = "WWW-Authenticate"
val = "Forwarded"
val = "X-Forwarded-For"
val = "X-Forwarded-Host"
val = "X-Forwarded-Port"
val = "X-Forwarded-Proto"
val = "X-Requested-With"
val = "Access-Control-Allow-Origin"
val = "Access-Control-Expose-Headers"
val = "Access-Control-Max-Age"
val = "Access-Control-Allow-Credentials"
val = "Access-Control-Allow-Methods"
val = "Access-Control-Allow-Headers"
val = "Origin"
val = "Access-Control-Request-Method"
val = "Access-Control-Request-Headers"
}
object HttpProtocol extends HttpProtocol
trait HttpProtocol {
val HTTP_1_0 = "HTTP/1.0"
val HTTP_1_1 = "HTTP/1.1"
val CHUNKED = "chunked"
}