mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-02-17 08:50:58 -05:00
Replacing http PATCHs with PUTs
We’re keeping the patch behavior though. Real patch calls return incorrect http responses in some environments, like Browserstack and schools.
This commit is contained in:
parent
eeeb7d47c9
commit
8f923f9e1e
9 changed files with 11 additions and 6 deletions
|
@ -99,6 +99,7 @@ module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
|||
wasAnonymous = me.get('anonymous')
|
||||
me.save(patch, {
|
||||
patch: true
|
||||
type: 'PUT'
|
||||
error: backboneFailure,
|
||||
url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken.access_token}"
|
||||
success: (model) ->
|
||||
|
|
|
@ -263,7 +263,7 @@ module.exports = class LevelBus extends Bus
|
|||
# since updates are coming fast and loose for session objects
|
||||
# don't let what the server returns overwrite changes since the save began
|
||||
tempSession = new LevelSession _id: @session.id
|
||||
tempSession.save(patch, {patch: true})
|
||||
tempSession.save(patch, {patch: true, type: 'PUT'})
|
||||
|
||||
destroy: ->
|
||||
clearInterval(@timerIntervalID)
|
||||
|
|
|
@ -293,7 +293,7 @@ module.exports = class LevelLoader extends CocoClass
|
|||
unless _.isEmpty patch
|
||||
@session.set key, value for key, value of patch
|
||||
tempSession = new LevelSession _id: @session.id
|
||||
tempSession.save(patch, {patch: true})
|
||||
tempSession.save(patch, {patch: true, type: 'PUT'})
|
||||
@sessionDenormalized = true
|
||||
|
||||
# Building sprite sheets
|
||||
|
|
|
@ -144,6 +144,7 @@ class CocoModel extends Backbone.Model
|
|||
return false unless @_revertAttributes
|
||||
options ?= {}
|
||||
options.patch = true
|
||||
options.type = 'PUT'
|
||||
|
||||
attrs = {_id: @id}
|
||||
keys = []
|
||||
|
|
|
@ -150,7 +150,7 @@ module.exports = class EmployersView extends RootView
|
|||
me.set 'savedEmployerFilterAlerts', me.previous('savedEmployerFilterAlerts')
|
||||
else
|
||||
triggerErrorAlert = -> alert("There was an error saving your filter alert! Please notify team@codecombat.com.")
|
||||
res = me.save {"savedEmployerFilterAlerts": newFilters}, {patch: true, success: cb, error: triggerErrorAlert}
|
||||
res = me.save {"savedEmployerFilterAlerts": newFilters}, {patch: true, type: 'PUT', success: cb, error: triggerErrorAlert}
|
||||
|
||||
renderSavedFilters: =>
|
||||
savedFilters = me.get('savedEmployerFilterAlerts')
|
||||
|
|
|
@ -243,7 +243,7 @@ module.exports = class SpectateLevelView extends RootView
|
|||
# Throttled
|
||||
saveScreenshot: (session) =>
|
||||
return unless screenshot = @surface?.screenshot()
|
||||
session.save {screenshot: screenshot}, {patch: true}
|
||||
session.save {screenshot: screenshot}, {patch: true, type: 'PUT'}
|
||||
|
||||
setTeam: (team) ->
|
||||
team = team?.team unless _.isString team
|
||||
|
|
|
@ -523,7 +523,7 @@ module.exports = class PlayLevelView extends RootView
|
|||
# Throttled
|
||||
saveScreenshot: (session) =>
|
||||
return unless screenshot = @surface?.screenshot()
|
||||
session.save {screenshot: screenshot}, {patch: true}
|
||||
session.save {screenshot: screenshot}, {patch: true, type: 'PUT'}
|
||||
|
||||
# Dynamic sound loading
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@ module.exports = class JobProfileView extends UserView
|
|||
onJobProfileNotesChanged: (e) =>
|
||||
notes = @$el.find('#job-profile-notes').val()
|
||||
@user.set 'jobProfileNotes', notes
|
||||
@user.save {jobProfileNotes: notes}, {patch: true}
|
||||
@user.save {jobProfileNotes: notes}, {patch: true, type: 'PUT'}
|
||||
|
||||
iconForLink: (link) ->
|
||||
icons = [
|
||||
|
|
|
@ -267,9 +267,12 @@ module.exports = class Handler
|
|||
res.end()
|
||||
|
||||
patch: ->
|
||||
console.warn 'Received unexpected PATCH request'
|
||||
@put(arguments...)
|
||||
|
||||
put: (req, res, id) ->
|
||||
# Client expects PATCH behavior for PUTs
|
||||
# Real PATCHs return incorrect HTTP responses in some environments (e.g. Browserstack, schools)
|
||||
return @postNewVersion(req, res) if @modelClass.schema.uses_coco_versions
|
||||
return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body)
|
||||
return @sendForbiddenError(res) unless @hasAccess(req)
|
||||
|
|
Loading…
Reference in a new issue