From 710655f13e9a54271e422b58b620286b82389ce5 Mon Sep 17 00:00:00 2001 From: Mayhem Date: Tue, 21 Jan 2014 14:46:26 +0100 Subject: [PATCH] Use xhr.responseType = 'json'. --- lib/$.coffee | 2 ++ src/Archive/Redirect.coffee | 2 +- src/Filtering/ThreadHiding.coffee | 2 +- src/General/DataBoard.coffee | 2 +- src/General/Get.coffee | 4 ++-- src/General/Index.coffee | 2 +- src/Images/ImageExpand.coffee | 2 +- src/Images/ImageHover.coffee | 2 +- src/Miscellaneous/ExpandThread.coffee | 5 ++--- src/Monitoring/ThreadStats.coffee | 5 ++--- src/Monitoring/ThreadUpdater.coffee | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/$.coffee b/lib/$.coffee index 7abfed7c3..2bbb69c76 100644 --- a/lib/$.coffee +++ b/lib/$.coffee @@ -47,6 +47,8 @@ $.ajax = do -> if whenModified r.setRequestHeader 'If-Modified-Since', lastModified[url] if url of lastModified $.on r, 'load', -> lastModified[url] = r.getResponseHeader 'Last-Modified' + if /\.json$/.test url + r.responseType = 'json' $.extend r, options $.extend r.upload, upCallbacks r.send form diff --git a/src/Archive/Redirect.coffee b/src/Archive/Redirect.coffee index 99c1bf8c7..67cf6d575 100644 --- a/src/Archive/Redirect.coffee +++ b/src/Archive/Redirect.coffee @@ -37,7 +37,7 @@ Redirect = return if lastarchivecheck > now - 2 * $.DAY $.ajax '<%= meta.page %>json/archives.json', onload: -> if @status is 200 - Conf['archives'] = JSON.parse @response + Conf['archives'] = @response Redirect.selectArchives() $.set lastarchivecheck: now diff --git a/src/Filtering/ThreadHiding.coffee b/src/Filtering/ThreadHiding.coffee index bc0068067..6d5635201 100644 --- a/src/Filtering/ThreadHiding.coffee +++ b/src/Filtering/ThreadHiding.coffee @@ -61,7 +61,7 @@ ThreadHiding = $.cache "//a.4cdn.org/#{g.BOARD}/threads.json", -> return unless @status is 200 threads = {} - for page in JSON.parse @response + for page in @response for thread in page.threads if thread.no of hiddenThreadsOnCatalog threads[thread.no] = hiddenThreadsOnCatalog[thread.no] diff --git a/src/General/DataBoard.coffee b/src/General/DataBoard.coffee index c3e9a6ebc..aba14d68d 100644 --- a/src/General/DataBoard.coffee +++ b/src/General/DataBoard.coffee @@ -75,7 +75,7 @@ class DataBoard return board = @data.boards[boardID] threads = {} - for page in JSON.parse e.target.response + for page in e.target.response for thread in page.threads if thread.no of board threads[thread.no] = board[thread.no] diff --git a/src/General/Get.coffee b/src/General/Get.coffee index 8095d5669..2de421e27 100644 --- a/src/General/Get.coffee +++ b/src/General/Get.coffee @@ -114,7 +114,7 @@ Get = "Error #{req.statusText} (#{req.status})." return - posts = JSON.parse(req.response).posts + {posts} = req.response Build.spoilerRange[boardID] = posts[0].custom_spoiler for post in posts break if post.no is postID # we found it! @@ -145,7 +145,7 @@ Get = Get.insert post, root, context return - data = JSON.parse req.response + data = req.response if data.error $.addClass root, 'warning' root.textContent = data.error diff --git a/src/General/Index.coffee b/src/General/Index.coffee index b1544177e..79a935099 100644 --- a/src/General/Index.coffee +++ b/src/General/Index.coffee @@ -239,7 +239,7 @@ Index = try if req.status is 200 - Index.parse JSON.parse(req.response), pageNum + Index.parse req.response, pageNum else if req.status is 304 and pageNum? Index.pageNav pageNum catch err diff --git a/src/Images/ImageExpand.coffee b/src/Images/ImageExpand.coffee index 47779828b..4ef91fa28 100644 --- a/src/Images/ImageExpand.coffee +++ b/src/Images/ImageExpand.coffee @@ -135,7 +135,7 @@ ImageExpand = # XXX CORS for i.4cdn.org WHEN? $.ajax "//a.4cdn.org/#{post.board}/res/#{post.thread}.json", onload: -> return if @status isnt 200 - for postObj in JSON.parse(@response).posts + for postObj in @response.posts break if postObj.no is post.ID if postObj.no isnt post.ID clearTimeout timeoutID diff --git a/src/Images/ImageHover.coffee b/src/Images/ImageHover.coffee index 5e1dcd501..9e11951a3 100644 --- a/src/Images/ImageHover.coffee +++ b/src/Images/ImageHover.coffee @@ -41,7 +41,7 @@ ImageHover = # XXX CORS for i.4cdn.org WHEN? $.ajax "//a.4cdn.org/#{post.board}/res/#{post.thread}.json", onload: -> return if @status isnt 200 - for postObj in JSON.parse(@response).posts + for postObj in @response.posts break if postObj.no is post.ID if postObj.no isnt post.ID clearTimeout timeoutID diff --git a/src/Miscellaneous/ExpandThread.coffee b/src/Miscellaneous/ExpandThread.coffee index 3acd11bba..6401a400c 100644 --- a/src/Miscellaneous/ExpandThread.coffee +++ b/src/Miscellaneous/ExpandThread.coffee @@ -74,13 +74,12 @@ ExpandThread = a.textContent = "Error #{req.statusText} (#{req.status})" return - data = JSON.parse(req.response).posts - Build.spoilerRange[thread.board] = data.shift().custom_spoiler + Build.spoilerRange[thread.board] = req.response.posts.shift().custom_spoiler posts = [] postsRoot = [] filesCount = 0 - for postData in data + for postData in req.response.posts if post = thread.posts[postData.no] filesCount++ if 'file' of post postsRoot.push post.nodes.root diff --git a/src/Monitoring/ThreadStats.coffee b/src/Monitoring/ThreadStats.coffee index dc189a572..a477b377b 100644 --- a/src/Monitoring/ThreadStats.coffee +++ b/src/Monitoring/ThreadStats.coffee @@ -41,10 +41,9 @@ ThreadStats = whenModified: true onThreadsLoad: -> return if @status isnt 200 - pages = JSON.parse @response - for page in pages + for page in @response for thread in page.threads if thread.no is ThreadStats.thread.ID ThreadStats.pageCountEl.textContent = page.page - (if page.page is pages.length - 1 then $.addClass else $.rmClass) ThreadStats.pageCountEl, 'warning' + (if page.page is @response.length - 1 then $.addClass else $.rmClass) ThreadStats.pageCountEl, 'warning' return diff --git a/src/Monitoring/ThreadUpdater.coffee b/src/Monitoring/ThreadUpdater.coffee index f42dc1283..028a4ccd9 100644 --- a/src/Monitoring/ThreadUpdater.coffee +++ b/src/Monitoring/ThreadUpdater.coffee @@ -98,7 +98,7 @@ ThreadUpdater = switch req.status when 200 g.DEAD = false - ThreadUpdater.parse JSON.parse(req.response).posts + ThreadUpdater.parse req.response.posts ThreadUpdater.setInterval() when 404 g.DEAD = true