         }
         
         // Build request
-        networkRequest.HTTPMethod = self.httpMethod.rawValue
+        if let _ = queryParameters {
+            resourceUrl = appendQueryParameters(queryParameters!, toURL: self.resourceUrl)
+        }
+        networkRequest.HTTPMethod = httpMethod.rawValue
         networkRequest.allHTTPHeaderFields = headers
         networkRequest.HTTPBody = requestBody
         

    public private(set) var resourceUrl: String
    public let httpMethod: HttpMethod
    public var timeout: Double
    public private(set) var headers: [String: String]?
    // TODO: Append query parameters to the URL right before sending the request (like in Android SDK)
    public var queryParameters: [String: String]?
    public private(set) var requestBody: NSData?

    public init(url: String,
               method: HttpMethod = HttpMethod.GET,
               timeout: Double = BMSClient.sharedInstance.defaultRequestTimeout,
               headers: [String: String] = [:],
               queryParameters: [String: String]?) {
            
        self.resourceUrl = url
