Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
skinny.micro.response.ResponseStatus.scala Maven / Gradle / Ivy
package skinny.micro.response
/**
* Response status.
*/
case class ResponseStatus(
code: Int,
message: String) extends Ordered[ResponseStatus] {
def compare(that: ResponseStatus): Int = code.compareTo(that.code)
def line: String = {
val buf = new StringBuilder(message.length + 5)
buf.append(code)
buf.append(' ')
buf.append(message)
buf.toString()
}
}
object ResponseStatus {
def apply(code: Int): ResponseStatus = ResponseStatus(code, ReasonMap.getOrElse(code, ""))
/**
* Status code list taken from http://www.iana.org/assignments/http-status-codes/http-status-codes.xml
*/
private[this] val ReasonMap: Map[Int, String] = Map(
100 -> "Continue",
101 -> "Switching Protocols",
102 -> "Processing",
200 -> "OK",
201 -> "Created",
202 -> "Accepted",
203 -> "Non-Authoritative Information",
204 -> "No Content",
205 -> "Reset Content",
206 -> "Partial Content",
207 -> "Multi-Status",
208 -> "Already Reported",
226 -> "IM Used",
300 -> "Multiple Choices",
301 -> "Moved Permanently",
302 -> "Found",
303 -> "See Other",
304 -> "Not Modified",
305 -> "Use Proxy",
307 -> "Temporary Redirect",
400 -> "Bad Request",
401 -> "Unauthorized",
402 -> "Payment Required",
403 -> "Forbidden",
404 -> "Not Found",
405 -> "Method Not Allowed",
406 -> "Not Acceptable",
407 -> "Proxy Authentication Required",
408 -> "Request Timeout",
409 -> "Conflict",
410 -> "Gone",
411 -> "Length Required",
412 -> "Precondition Failed",
413 -> "Request Entity Too Large",
414 -> "Request-URI Too Long",
415 -> "Unsupported Media Type",
416 -> "Requested Range Not Satisfiable",
417 -> "Expectation Failed",
418 -> "I'm a teapot",
422 -> "Unprocessable Entity",
423 -> "Locked",
424 -> "Failed Dependency",
425 -> "Unordered Collection",
426 -> "Upgrade Required",
428 -> "Precondition Required",
429 -> "Too Many Requests",
431 -> "Request Header Fields Too Large",
500 -> "Internal Server Error",
501 -> "Not Implemented",
502 -> "Bad Gateway",
503 -> "Service Unavailable",
504 -> "Gateway Timeout",
505 -> "HTTP Version Not Supported",
506 -> "Variant Also Negotiates",
507 -> "Insufficient Storage",
508 -> "Loop Detected",
510 -> "Not Extended",
511 -> "Network Authentication Required")
}