瀏覽代碼

use req.ip not x-forwarded-for to get ip address for multi currency

Henry Oswald 12 年之前
父節點
當前提交
6437f74cd3

+ 2 - 2
services/web/app/coffee/Features/Subscription/SubscriptionController.coffee

@@ -22,7 +22,7 @@ module.exports = SubscriptionController =
 		if req.query.v?
 		if req.query.v?
 			viewName = "#{viewName}_#{req.query.v}"
 			viewName = "#{viewName}_#{req.query.v}"
 		logger.log viewName:viewName, "showing plans page"
 		logger.log viewName:viewName, "showing plans page"
-		GeoIpLookup.getCurrencyCode req.headers["x-forwarded-for"], (err, recomendedCurrency)->
+		GeoIpLookup.getCurrencyCode req.ip, (err, recomendedCurrency)->
 			res.render viewName,
 			res.render viewName,
 				title: "plans_and_pricing"
 				title: "plans_and_pricing"
 				plans: plans
 				plans: plans
@@ -40,7 +40,7 @@ module.exports = SubscriptionController =
 					res.redirect "/user/subscription"
 					res.redirect "/user/subscription"
 				else
 				else
 					currency = req.query.currency?.toUpperCase()
 					currency = req.query.currency?.toUpperCase()
-					GeoIpLookup.getCurrencyCode req.headers["x-forwarded-for"], (err, recomendedCurrency)->
+					GeoIpLookup.getCurrencyCode req.ip, (err, recomendedCurrency)->
 						if recomendedCurrency? and !currency?
 						if recomendedCurrency? and !currency?
 							currency = recomendedCurrency
 							currency = recomendedCurrency
 						RecurlyWrapper.sign {
 						RecurlyWrapper.sign {

+ 2 - 3
services/web/test/UnitTests/coffee/Subscription/SubscriptionControllerTests.coffee

@@ -81,15 +81,14 @@ describe "SubscriptionController sanboxed", ->
 
 
 	describe "plansPage", ->
 	describe "plansPage", ->
 		beforeEach (done) ->
 		beforeEach (done) ->
-			@req.headers = 
-				"x-forwarded-for" : "1234.3123.3131.333 313.133.445.666 653.5345.5345.534"
+			@req.ip  = "1234.3123.3131.333 313.133.445.666 653.5345.5345.534"
 			@GeoIpLookup.getCurrencyCode.callsArgWith(1, null, @stubbedCurrencyCode)
 			@GeoIpLookup.getCurrencyCode.callsArgWith(1, null, @stubbedCurrencyCode)
 			@res.callback = done
 			@res.callback = done
 			@SubscriptionController.plansPage(@req, @res)
 			@SubscriptionController.plansPage(@req, @res)
 
 
 		it "should set the recommended currency from the geoiplookup", (done)->
 		it "should set the recommended currency from the geoiplookup", (done)->
 			@res.renderedVariables.recomendedCurrency.should.equal(@stubbedCurrencyCode)
 			@res.renderedVariables.recomendedCurrency.should.equal(@stubbedCurrencyCode)
-			@GeoIpLookup.getCurrencyCode.calledWith(@req.headers["x-forwarded-for"]).should.equal true
+			@GeoIpLookup.getCurrencyCode.calledWith(@req.ip).should.equal true
 			done()
 			done()
 
 
 	describe "editBillingDetailsPage", ->
 	describe "editBillingDetailsPage", ->