#include "apr_buckets.h"
#include "apr_date.h"
#include "apr_errno.h"
#include "apr_strings.h"
#include "apr_tables.h"
#include "util_filter.h"
#include "http_request.h"
static apr_status_t rdat_filter(ap_filter_t *f, apr_bucket_brigade *b)
{
return ap_save_brigade(f, (apr_bucket_brigade **)&f->ctx, &b, f->r->pool);
}
static apr_status_t read_dat(CH2READ *ch2, request_rec *r)
{
int rv;
ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL};
ap_filter_t f = {&frec, NULL, NULL, r, r->connection};
char *uri = apr_pstrcat(r->pool, "/", ch2->zz_bbs, "/dat/", ch2->zz_key, ".dat", NULL);
request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f);
if (!(rv = rdat->status == HTTP_OK ? ap_run_sub_req(rdat) : rdat->status)) {
apr_brigade_pflatten(f.ctx, &ch2->BigBuffer, &ch2->zz_fileSize, r->pool);
apr_brigade_destroy(f.ctx);
ch2->zz_fileLastmod = rdat->mtime ? rdat->mtime
: apr_date_parse_http(apr_table_get(rdat->headers_out, "Last-Modified"));
}
ap_destroy_sub_req(rdat);
return rv ? APR_ENOENT : APR_SUCCESS;
}
----------------------------------------------------------------------
雪だるま版 read.cgi での dat 読み込みは↑な感じかなぁ,というのを何となく.
普通の CGI だと localhost にソケットで接続して(ryってところでしょうけど,
DSO ではサブリクエストを使えばいいんでソケット不要ですね.
ただ,mod_rewrite ではサブリクエストで reverse proxy を使えないという
制限があるんで,ProxyPass ディレクティブで↓のように指定で.
ProxyPass /livejupiter/kako !
ProxyPass /livejupiter/_datArea !
ProxyPass /livejupiter/ http://live22priv.2ch.net/livejupiter/
ProxyPassReverse /livejupiter/ http://live22priv.2ch.net/livejupiter/
CacheDisable /livejupiter/kako
CacheDisable /livejupiter/_datArea
CacheEnable disk /livejupiter/
過去ログ・dat 落ちログに関しては
・ ライブな dat のように転送 (live22 -> live22x) の即時性は要求されない.
・ mod_disk_cache のキャッシュ領域を /md に確保するとして,
即時性が要求されないデータで /md を食い潰すのはもったいない.
ということで,それらは rsync でマターリ転送することにすれば,
offlaw.cgi は無修正で Ok でしょうかね.
探検
read.cgi再開発スレ Part2
■ このスレッドは過去ログ倉庫に格納されています
287▲ ◆cZfSunOs.U
2005/07/24(日) 14:12:59ID:6ksh67gl0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 元フジ・笠井信輔アナ、古巣のやり直し会見に「最初にこれをやっていれば…」「相談役の動向に注目しているなと」…再生願う★2 [jinjin★]
- 【八潮市道路陥没】運転手の救出活動を再開…作業用スロープが完成し重機でがれきの撤去始める ★8 [Ailuropoda melanoleuca★]
- 小学校「除籍」されたクルド人女児が復学…さいたま市教委が対応の誤り認め謝罪 [少考さん★]
- 1時間働いてビッグマック2.2個 「スマイル」も安い日本 [蚤の市★]
- バイクとクルマの“いいとこ取り”車検なしで保険も税金も安価な250ccのトライクが登場 [おっさん友の会★]
- 【FF】引っ越し先のアパートのドアに「NHK」のシールが貼られていました。テレビを持っていないので…はがしてもいいのですか? [少考さん★]
- 【悲報】👩女性「キラキラ!キラキラ!」 女性の流入で東京の人口がさらに増える [312375913]
- 【画像】かっぺ、トンキンからアウェーの洗礼を受ける
- キムタクさん、長谷川豊砲によりまたもや評価を上げてしまう・・・ [782460143]
- 【悲報】音楽、ここ10年進歩してない
- 神社の屋根裏から出征兵の絵馬3500枚が見つかる。焼却処分 [122319879]
- インバウンドによるマナーの悪い外国人が話題だけど、その程度の外国人が訪日できるよう日本円の価値を毀損した自民党が叩かれない理由 [472617201]