         let successExpectation = expectationWithDescription("Received status 200")
         let handler = responseHandler(expectation: successExpectation)
         let service = WebService(baseURLString: baseURL)
-        var options = WebService.EndpointOptions()
-        options.headers = ["Some-Test-Header" :"testValue"]
-        
-        let task = service
-            .GET("/get", parameters: nil, options: options)
+        var headers = ["Some-Test-Header" :"testValue"]
+        
+        let task = service
+            .GET("/get",
+                parameters: nil,
+                options: [.Header("Some-Test-Header", "testValue")])
             .response { data, response in
                 
                 let httpResponse = response as! NSHTTPURLResponse

                let deliveredHeaders = castedJSON!["headers"] as? [String : AnyObject]
                XCTAssert(deliveredHeaders != nil)
                
                RequestTests.assertRequestParametersNotEqual(deliveredHeaders!, toOriginalParameters: options.headers!)
        }
        
        waitForExpectationsWithTimeout(2, handler: nil)

        let handler = responseHandler(expectation: successExpectation)
        let service = WebService(baseURLString: baseURL)
        let parameters = ["foo" : "bar", "number" : 42]
        
        let task = service
            .POST("/post",
                parameters: parameters,
                options: [.ParameterEncoding(.JSON)])
            .response { data, response in
                
                let httpResponse = response as! NSHTTPURLResponse
