表紙 | 新規 | 編集 | 編集 | 差分 | 一覧 | RSS | 検索 | 閲覧履歴 | 作成履歴 | 更新履歴

なつみかんのパッチ - ぽにてあんてなになるパッチ

目次

ぽにてあんてなになるパッチ

なつみかん3.1bに対してのパッチです。
これを適用するとぽにーてーるあんてなで使用しているのと同じソースになります。私が使う上で困った部分や弱った部分しか改変していないので、使っていないCGI部分等は全くノータッチです。

効能 (書き漏れがあるかも)

  • デバッグ用の出力がいっぱいになる
    • 取得したhtmlのどの部分で更新時間を認識したのか、等々いろいろ出力されます。
  • 日時の中で最新のものを更新日時として判断します。
  • タイムアウト処理がうまく機能しない場合があるバグに対処したつもり
  • サーバからの戻り値を判断するように改変
    • 成功
      • 200
    • 失敗
      • 301
      • 302
      • 403
      • 404
      • 500
    • 変化なし扱い
      • 304
      • 400
      • 408
    • HEADで302の場合にはリダイレクト先を自動再取得を行っていた仕様廃止 (取得失敗扱いにしました)
  • 更新されていればetcフィールドにUPDATE!と表示 (lirsの仕様的にはあかん処理かも)
  • LENGTH関連の仕様変更
    • LENGTHで更新日時取得時の3時間でexpireする仕様廃止
      • LENGTHでの更新日時取得処理はオリジナルのなつみかんから不具合があるようで、このパッチを当てると軽減はします。
  • 5年以前の更新情報をエラーとしていた仕様廃止
  • 認識できる更新日時の表記パターン大幅増加
    • 元号表記やRDSからも取得できます
  • 更新日時が前回の更新日時取得時刻より過去だった場合エラーとしていた仕様廃止
    • これ運用を楽にする為に変えたのですが、ちょっと微妙です
  • ステータスがCACHE/LENGTH/取得失敗の明示的な処理追加
    • オリジナルのなつみかんでは、これらの処理が例外的に扱われていた
  • その他色々と書き換えています。

as isな状態なので、あっちこっちに目印の# DEBUGが残っています (^^;; 
このパッチ自体は修正BSDライセンスで、サポートは気まぐれです。

2004/07/20修正

「更新日時が前回の更新日時取得時刻より過去だった場合エラーとしていた仕様廃止」を廃止しました。この仕様を生かしたままの方が安定するっぽいです。 具体的には、detect.pmの409行目から4行コメントアウトしているのですが、それをアンコメントしました。

        if($nm::info_ref->{$url}->{'LMD'} > $lmd){
print "  lmd is older LMD ...?012" if($refer =~ /(HEAD|GET|FILE|LENGTH)/);
                return undef;
        }
先頭へ