lilurlにGETメソッドで短縮URLを発行するインターフェースを追加するパッチ

lilurl とは TinyURLオープンソース版クローンです。

イントラネット用に短縮URLサービスlilurlを活用するため、ブックマークレットを作ろうと考えたけど、FORMからPOSTしないと短縮URLを発行してくれない作りになってたり、レスポンスもHTMLをスクレーピングするのがめんどかったのでlilurl側を変更してみた。
コメントに'RESTful interface'なんて言葉使っているけど、RESTfulがなんなのかよくわかってない。
RESTfulの使い方間違っているかも。

$ diff index.php index.php.orig
10c10
< if ( isset($_POST['longurl']) || isset($_GET['longurl']) )
---
> if ( isset($_POST['longurl']) )
12,20d11
<       if (isset($_POST['longurl'])) {
<               $method = 'POST';
<               $longurl = $_POST['longurl'];
<       }
<       else
<       {
<               $method = 'GET';
<               $longurl = $_GET['longurl'];
<       }
22c13
<       $longurl = trim(mysql_escape_string($longurl));
---
>       $longurl = trim(mysql_escape_string($_POST['longurl']));
67,73d57
<
<       // for RESTful interface
<       if ($method == 'GET') {
<               header('Content-Type: Text/Plain');
<               echo($url);
<               exit;
<       }



修正した>> lilurlパッチとブックマークレット修正(クロスドメイン対応) - 今日もスミマセン。を参照

こうしておけば、"http://lilurl_server/index.php?longurl=http://hoge/fuga/"という感じでリクエストを投げると、短縮URLをプレーンテキストで取得できる。
エラーステータスとかは考慮してない。超簡易的なハック。
こうしておけば、イントラネット用のブックマークレットとかが作りやすくなる。