work around false 404s from 4chan

This commit is contained in:
ccd0 2014-09-01 15:08:02 -07:00
parent 2854ef5d4e
commit db73a5f293

View File

@ -139,17 +139,25 @@ ThreadUpdater =
else else
ThreadUpdater.setInterval() ThreadUpdater.setInterval()
when 404 when 404
g.DEAD = true # XXX workaround for 4chan sending false 404s
ThreadUpdater.set 'status', '404', 'warning' $.ajax "//a.4cdn.org/#{ThreadUpdater.thread.board}/catalog.json", onloadend: ->
ThreadUpdater.kill() if @status is 200
confirmed = true
for page in @response
for thread in page.threads
if thread.no is ThreadUpdater.thread.ID
confirmed = false
break
else
confirmed = false
if confirmed
g.DEAD = true
ThreadUpdater.set 'status', '404', 'warning'
ThreadUpdater.kill()
else
ThreadUpdater.error req
else else
ThreadUpdater.outdateCount++ ThreadUpdater.error req
ThreadUpdater.setInterval()
[text, klass] = if req.status is 304
[null, null]
else
["#{req.statusText} (#{req.status})", 'warning']
ThreadUpdater.set 'status', text, klass
if ThreadUpdater.postID if ThreadUpdater.postID
ThreadUpdater.cb.checkpost() ThreadUpdater.cb.checkpost()
@ -162,6 +170,15 @@ ThreadUpdater =
404: true 404: true
threadID: ThreadUpdater.thread.fullID threadID: ThreadUpdater.thread.fullID
error: (req) ->
ThreadUpdater.outdateCount++
ThreadUpdater.setInterval()
[text, klass] = if req.status is 304
[null, null]
else
["#{req.statusText} (#{req.status})", 'warning']
ThreadUpdater.set 'status', text, klass
setInterval: -> setInterval: ->
i = ThreadUpdater.interval + 1 i = ThreadUpdater.interval + 1