bbs2chreader/chaika Part45 ©2ch.net

このエントリーをはてなブックマークに追加
6名無しさん@お腹いっぱい。
「あぼーん発生〜」が多発することに対する暫定パッチ(改良)
2ch.netとbbspink.comの場合だけdatの差分取得をやめて常にdatの全取得を行います

>>5のパッチでは、新着レスが無い場合でもdat全取得が行われていたので、
新着レスが無い場合はdatを受信しないようにしました。

chaika1.7.3
modules/server/thread.js の843行目付近

// 差分GET
if(this.thread.datFile.exists() && this.thread.lastModified){
let lastModified = this.thread.lastModified;
let range = this.thread.datFile.fileSize - 1; //あぼーんされたか調べるために1byte余計に取得する
this.httpChannel.setRequestHeader("Accept-Encoding", "", false);
this.httpChannel.setRequestHeader("If-Modified-Since", lastModified, false);
this.httpChannel.setRequestHeader("Range", "bytes=" + range + "-", false);
this._aboneChecked = false;

     ↓↓

// 差分GET
if(this.thread.datFile.exists() && this.thread.lastModified){
let lastModified = this.thread.lastModified;
this.httpChannel.setRequestHeader("If-Modified-Since", lastModified, false);
if(this.httpChannel.URI.host.match(/2ch\.net|bbspink\.com/)){
this.httpChannel.setRequestHeader("Accept-Encoding", "gzip", false);
}else{
let range = this.thread.datFile.fileSize - 1; //あぼーんされたか調べるために1byte余計に取得する
this.httpChannel.setRequestHeader("Accept-Encoding", "", false);
this.httpChannel.setRequestHeader("Range", "bytes=" + range + "-", false);
}
this._aboneChecked = false;