[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
no-cache
- From: Mito <mit@xxxxxxxxxxxxxxx>
- Date: Thu, 07 Jun 2001 21:00:10 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 01103
Wanderust で shimbun を読んでいるのですが、sb-cnet や
sb-asahi 等普通のものは毎日更新されてるのに、sb-hns が最近全
く更新されないという状況になってました。
で、調べていくと http://.../title.cgi にアクセスしても更新さ
れていなかったためでした。
w3m -dump_head してみると、
Age: 8
X-Cache: MISS from squid-host.upper-site.domain
のように、上位のPROXY(Squid) で chache の hit miss があった
ようなヘッダがありました。
ローカルの Squid の設定が悪いのか、上位の Squid が悪いのか、
はたまたこのようなポリシーで運用しているのかよくわからないの
ですが、とりあえず reload すれば更新できるので、
(1) w3m に -no-cache を追加する(reloadと同じ動作)
(2) sb-hns で title.cgi を GET する時に -no-cache を付ける
という風にして回避しようと考えました。
で、(1) の w3m の -no-cache オプションのほうは、最後に付けた
diff のようなちょっとした変更で一応使えるようになったのです
が、(2) のほうをどう改造すればいいのかがちょっと分かりません
でした。
luna 自体、ほとんど理解していないのですが、shimbun クラスに
no-cached-index プロパティ(slot?)を追加して shimbun-headers
メソッドあたりで no-cached-index が t なら
w3m-*-command-arguments に "-no-cache" を append すればいけ
そうな気がしたのですが、ここまでの理解はあっていますか?
でも、これでできたとしても、な〜んかとっても汚いような気がし
て、まだ試してもいないです。
(2) を実装するには、どう改造するのが美しいのでしょう?
正しい作法を教えてください。
# できればお手本など...。(自粛)
本末転倒とは重々承知しておりますが、お知恵を拝借させてくださ
い。(_ _)
---
6/7 20:56頃
NECソフトウェア新潟 水戸
--- fm.h 2001-06-07 14:32:50+09 1.1
+++ fm.h 2001-06-07 17:25:20+09 1.2
@@ -638,6 +638,7 @@
#endif /* INET6 */
global TextList *NO_proxy_domains;
global int Do_not_use_proxy init(FALSE);
+global int Do_not_use_cache init(FALSE);
global int Do_not_use_ti_te init(FALSE);
global char *document_root init(NULL);
--- main.c 2001-06-07 14:29:18+09 1.1
+++ main.c 2001-06-07 17:25:30+09 1.2
@@ -112,6 +112,7 @@
fprintf(f, " +<num> goto <num> line\n");
fprintf(f, " -num show line number\n");
fprintf(f, " -no-proxy don't use proxy\n");
+ fprintf(f, " -no-cache don't use cache\n");
#ifdef MOUSE
fprintf(f, " -no-mouse don't use mouse\n");
#endif /* MOUSE */
@@ -451,6 +452,8 @@
showLineNum = TRUE;
else if (!strcmp("-no-proxy", argv[i]))
Do_not_use_proxy = TRUE;
+ else if (!strcmp("-no-cache", argv[i]))
+ Do_not_use_cache = TRUE;
#ifdef MOUSE
else if (!strcmp("-no-mouse", argv[i])) {
mouse_end();
--- url.c 2001-06-07 15:03:35+09 1.1
+++ url.c 2001-06-07 17:25:35+09 1.2
@@ -1225,7 +1225,7 @@
}
uf.scheme = pu->scheme;
- pu->is_nocache = (option->flag & RG_NOCACHE);
+ pu->is_nocache = ((option->flag|(Do_not_use_cache?~0:0)) & RG_NOCACHE);
uf.ext = filename_extension(pu->file, 1);
hr.command = HR_COMMAND_GET;