diff --git a/ws/WS.swift b/ws/WS.swift index 354ecf4..7e9509d 100644 --- a/ws/WS.swift +++ b/ws/WS.swift @@ -48,6 +48,7 @@ open class WS { open var headers = [String: String]() open var requestAdapter: RequestAdapter? open var requestRetrier: RequestRetrier? + open var mandatoryQueryParams = Params() /** Create a webservice instance. @@ -64,7 +65,10 @@ open class WS { let c = defaultCall() c.httpVerb = verb c.URL = url - c.params = params + if mandatoryQueryParams.isEmpty { c.params = params } + else { + c.params = params.merging(mandatoryQueryParams) { (current, _) in current } + } return c } @@ -152,6 +156,16 @@ open class WS { return r.fetch().resolveOnMainThread() } + open func addMandatoryQueryParameter(key: String, value: Any) -> WS { + mandatoryQueryParams[key] = value + return self + } + + open func addMandatoryQueryParameter(params: Params) -> WS{ + mandatoryQueryParams.merge(params) { (current, _) in current } + return self + } + } public extension Promise {