httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる!(Groovy版)

一般的な Web Programmer ならば、HTTP Status code はすべて暗記していると聞きました。

しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なツールを用意しました。

http://blog.64p.org/entry/2013/02/21/121830

蛇足

流行ってるらしいのでGroovy版を書きました。*1
groovyにpathが通ってる状態で下記のコードを「httpstatus」というファイル名で何処かにおけば元ネタのように実行可能です。

本体

#! /usr/bin/env groovy
[
"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",
"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 Large",
"415":"Unsupported Media Type",
"416":"Request Range Not Satisfiable",
"417":"Expectation Failed",
"418":"I'm a teapot",
"422":"Unprocessable Entity",
"423":"Locked",
"424":"Failed Dependency",
"425":"No code",
"426":"Upgrade Required",
"428":"Precondition Required",
"429":"Too Many Requests",
"431":"Request Header Fields Too Large",
"449":"Retry with",
"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",
"509":"Bandwidth Limit Exceeded",
"510":"Not Extended",
"511":"Network Authentication Required",
].findAll {
  if (args) {
    it.key =~/^${args[0]}/ ? true : it.value =~/^${args[0]}/
  } else {
    true
  }
}.each {
  println "Status ${it.key}: ${it.value}"
}

Gistに書いたのに貼り方がわからなかった。。。
https://gist.github.com/yamap55/5010846

*1:36時間位遅れてる気がしますが。。。