From 606efd7c7981e3f6554cf98285fb724617262537 Mon Sep 17 00:00:00 2001 From: Bart Van Der Meerssche Date: Tue, 27 Apr 2010 23:14:30 +0200 Subject: [PATCH] api: allow the token to be submitted either in the request header or as part of the query string --- web/api/flukso/src/flukso_resource.erl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/web/api/flukso/src/flukso_resource.erl b/web/api/flukso/src/flukso_resource.erl index da06edd..b62c709 100644 --- a/web/api/flukso/src/flukso_resource.erl +++ b/web/api/flukso/src/flukso_resource.erl @@ -24,7 +24,7 @@ malformed_request(ReqData, _State) -> {RrdSensor, ValidSensor} = rrd_sensor(wrq:path_info(sensor, ReqData)), {RrdTime, ValidInterval} = rrd_time(wrq:get_qs_value("interval", ReqData)), {RrdFactor, ValidUnit} = rrd_factor(wrq:get_qs_value("unit", ReqData)), - {Token, ValidToken} = rrd_sensor(wrq:get_req_header("X-Token", ReqData)), + {Token, ValidToken} = token(wrq:get_req_header("X-Token", ReqData), wrq:get_qs_value("token", ReqData)), {JsonpCallback, ValidJsonpCallback} = jsonp_callback(wrq:get_qs_value("jsonp_callback", ReqData)), State = #state{rrdSensor = RrdSensor, rrdTime = RrdTime, rrdFactor = RrdFactor, token = Token, jsonpCallback = JsonpCallback}, @@ -98,9 +98,17 @@ rrd_factor(Unit) -> {_Unit, RrdFactor} -> {RrdFactor, true} end. +token(undefined, undefined) -> + {false, false}; +token(Token, undefined) -> + rrd_sensor(Token); +token(undefined, Token) -> + rrd_sensor(Token); +token(_, _) -> + {false, false}. + jsonp_callback(undefined) -> {undefined, true}; - jsonp_callback(JsonpCallback) -> Length = string:len(JsonpCallback),