diff --git a/lib/jsonpadding.dart b/lib/jsonpadding.dart index 02d7f6a..8db4fd5 100644 --- a/lib/jsonpadding.dart +++ b/lib/jsonpadding.dart @@ -3,8 +3,14 @@ import 'src/jsonp_call.dart'; import 'dart:async'; -Future jsonp(dynamic uri) => new JsonpCall(uri).call(); +Future jsonp(dynamic uri, {String param}) => + new JsonpCall(uri, param: param).call(); class Jsonp { - Future get(dynamic uri) => jsonp(uri); + final String param; + + Jsonp({this.param}); + + Future get(dynamic uri, {String param}) => + jsonp(uri, param: param ?? this.param); } diff --git a/lib/src/jsonp_call.dart b/lib/src/jsonp_call.dart index 4bd1354..d163ade 100644 --- a/lib/src/jsonp_call.dart +++ b/lib/src/jsonp_call.dart @@ -12,8 +12,10 @@ class JsonpCall { final ScriptElement script = new ScriptElement(); final String callback = _createId(); Uri uri; + String _param = 'callback'; - JsonpCall(dynamic uri) { + JsonpCall(dynamic uri, {String param}) { + _param = param ?? _param; this.uri = _createUri(uri, callback); } @@ -36,7 +38,7 @@ class JsonpCall { Uri _createUri(dynamic uri, String callback) { uri = (uri is Uri) ? uri : Uri.parse(uri); Map parameters = new Map.from(uri.queryParameters); - parameters['callback'] = callback; + parameters[_param] = callback; return uri.replace(queryParameters: parameters); } }