From 55d69d80bcff94fbd3359638f13a0ff2127832e7 Mon Sep 17 00:00:00 2001 From: wing328 Date: Wed, 28 Oct 2015 15:33:56 +0800 Subject: [PATCH] update c# sample code --- .../src/main/csharp/IO/Swagger/Api/PetApi.cs | 80 +++++++++--------- .../main/csharp/IO/Swagger/Api/StoreApi.cs | 44 +++++----- .../src/main/csharp/IO/Swagger/Api/UserApi.cs | 72 ++++++++-------- .../csharp/IO/Swagger/Client/ApiClient.cs | 27 +++--- .../bin/Debug/SwaggerClientTest.dll | Bin 61952 -> 61952 bytes .../bin/Debug/SwaggerClientTest.dll.mdb | Bin 18987 -> 18999 bytes .../obj/Debug/SwaggerClientTest.dll | Bin 61952 -> 61952 bytes .../obj/Debug/SwaggerClientTest.dll.mdb | Bin 18987 -> 18999 bytes 8 files changed, 113 insertions(+), 110 deletions(-) diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs index 4e7e84fb725..00bd7a5e9f2 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs @@ -248,7 +248,7 @@ namespace IO.Swagger.Api { - var path = "/pet"; + var path_ = "/pet"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -279,7 +279,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UpdatePet: " + response.Content, response.Content); @@ -298,7 +298,7 @@ namespace IO.Swagger.Api { - var path = "/pet"; + var path_ = "/pet"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -329,7 +329,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UpdatePet: " + response.Content, response.Content); @@ -346,7 +346,7 @@ namespace IO.Swagger.Api { - var path = "/pet"; + var path_ = "/pet"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -377,7 +377,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling AddPet: " + response.Content, response.Content); @@ -396,7 +396,7 @@ namespace IO.Swagger.Api { - var path = "/pet"; + var path_ = "/pet"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -427,7 +427,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling AddPet: " + response.Content, response.Content); @@ -444,7 +444,7 @@ namespace IO.Swagger.Api { - var path = "/pet/findByStatus"; + var path_ = "/pet/findByStatus"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -475,14 +475,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByStatus: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByStatus: " + response.ErrorMessage, response.ErrorMessage); - return (List) ApiClient.Deserialize(response.Content, typeof(List), response.Headers); + return (List) ApiClient.Deserialize(response, typeof(List)); } /// @@ -494,7 +494,7 @@ namespace IO.Swagger.Api { - var path = "/pet/findByStatus"; + var path_ = "/pet/findByStatus"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -525,11 +525,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByStatus: " + response.Content, response.Content); - return (List) ApiClient.Deserialize(response.Content, typeof(List), response.Headers); + return (List) ApiClient.Deserialize(response, typeof(List)); } /// @@ -541,7 +541,7 @@ namespace IO.Swagger.Api { - var path = "/pet/findByTags"; + var path_ = "/pet/findByTags"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -572,14 +572,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByTags: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByTags: " + response.ErrorMessage, response.ErrorMessage); - return (List) ApiClient.Deserialize(response.Content, typeof(List), response.Headers); + return (List) ApiClient.Deserialize(response, typeof(List)); } /// @@ -591,7 +591,7 @@ namespace IO.Swagger.Api { - var path = "/pet/findByTags"; + var path_ = "/pet/findByTags"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -622,11 +622,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByTags: " + response.Content, response.Content); - return (List) ApiClient.Deserialize(response.Content, typeof(List), response.Headers); + return (List) ApiClient.Deserialize(response, typeof(List)); } /// @@ -641,7 +641,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling GetPetById"); - var path = "/pet/{petId}"; + var path_ = "/pet/{petId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -669,17 +669,17 @@ namespace IO.Swagger.Api // authentication setting, if any - String[] authSettings = new String[] { "api_key", "petstore_auth" }; + String[] authSettings = new String[] { "api_key" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetPetById: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling GetPetById: " + response.ErrorMessage, response.ErrorMessage); - return (Pet) ApiClient.Deserialize(response.Content, typeof(Pet), response.Headers); + return (Pet) ApiClient.Deserialize(response, typeof(Pet)); } /// @@ -693,7 +693,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling GetPetById"); - var path = "/pet/{petId}"; + var path_ = "/pet/{petId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -721,14 +721,14 @@ namespace IO.Swagger.Api // authentication setting, if any - String[] authSettings = new String[] { "api_key", "petstore_auth" }; + String[] authSettings = new String[] { "api_key" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetPetById: " + response.Content, response.Content); - return (Pet) ApiClient.Deserialize(response.Content, typeof(Pet), response.Headers); + return (Pet) ApiClient.Deserialize(response, typeof(Pet)); } /// @@ -745,7 +745,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling UpdatePetWithForm"); - var path = "/pet/{petId}"; + var path_ = "/pet/{petId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -778,7 +778,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UpdatePetWithForm: " + response.Content, response.Content); @@ -801,7 +801,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling UpdatePetWithForm"); - var path = "/pet/{petId}"; + var path_ = "/pet/{petId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -834,7 +834,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UpdatePetWithForm: " + response.Content, response.Content); @@ -855,7 +855,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling DeletePet"); - var path = "/pet/{petId}"; + var path_ = "/pet/{petId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -887,7 +887,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling DeletePet: " + response.Content, response.Content); @@ -909,7 +909,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling DeletePet"); - var path = "/pet/{petId}"; + var path_ = "/pet/{petId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -941,7 +941,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling DeletePet: " + response.Content, response.Content); @@ -963,7 +963,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling UploadFile"); - var path = "/pet/{petId}/uploadImage"; + var path_ = "/pet/{petId}/uploadImage"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -996,7 +996,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UploadFile: " + response.Content, response.Content); @@ -1019,7 +1019,7 @@ namespace IO.Swagger.Api if (petId == null) throw new ApiException(400, "Missing required parameter 'petId' when calling UploadFile"); - var path = "/pet/{petId}/uploadImage"; + var path_ = "/pet/{petId}/uploadImage"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -1052,7 +1052,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "petstore_auth" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UploadFile: " + response.Content, response.Content); diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs index f96b773c76f..b0a439ddf1a 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs @@ -155,7 +155,7 @@ namespace IO.Swagger.Api { - var path = "/store/inventory"; + var path_ = "/store/inventory"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -185,14 +185,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "api_key" }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetInventory: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling GetInventory: " + response.ErrorMessage, response.ErrorMessage); - return (Dictionary) ApiClient.Deserialize(response.Content, typeof(Dictionary), response.Headers); + return (Dictionary) ApiClient.Deserialize(response, typeof(Dictionary)); } /// @@ -203,7 +203,7 @@ namespace IO.Swagger.Api { - var path = "/store/inventory"; + var path_ = "/store/inventory"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -233,11 +233,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { "api_key" }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetInventory: " + response.Content, response.Content); - return (Dictionary) ApiClient.Deserialize(response.Content, typeof(Dictionary), response.Headers); + return (Dictionary) ApiClient.Deserialize(response, typeof(Dictionary)); } /// @@ -249,7 +249,7 @@ namespace IO.Swagger.Api { - var path = "/store/order"; + var path_ = "/store/order"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -280,14 +280,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling PlaceOrder: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling PlaceOrder: " + response.ErrorMessage, response.ErrorMessage); - return (Order) ApiClient.Deserialize(response.Content, typeof(Order), response.Headers); + return (Order) ApiClient.Deserialize(response, typeof(Order)); } /// @@ -299,7 +299,7 @@ namespace IO.Swagger.Api { - var path = "/store/order"; + var path_ = "/store/order"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -330,11 +330,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling PlaceOrder: " + response.Content, response.Content); - return (Order) ApiClient.Deserialize(response.Content, typeof(Order), response.Headers); + return (Order) ApiClient.Deserialize(response, typeof(Order)); } /// @@ -349,7 +349,7 @@ namespace IO.Swagger.Api if (orderId == null) throw new ApiException(400, "Missing required parameter 'orderId' when calling GetOrderById"); - var path = "/store/order/{orderId}"; + var path_ = "/store/order/{orderId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -380,14 +380,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetOrderById: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling GetOrderById: " + response.ErrorMessage, response.ErrorMessage); - return (Order) ApiClient.Deserialize(response.Content, typeof(Order), response.Headers); + return (Order) ApiClient.Deserialize(response, typeof(Order)); } /// @@ -401,7 +401,7 @@ namespace IO.Swagger.Api if (orderId == null) throw new ApiException(400, "Missing required parameter 'orderId' when calling GetOrderById"); - var path = "/store/order/{orderId}"; + var path_ = "/store/order/{orderId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -432,11 +432,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetOrderById: " + response.Content, response.Content); - return (Order) ApiClient.Deserialize(response.Content, typeof(Order), response.Headers); + return (Order) ApiClient.Deserialize(response, typeof(Order)); } /// @@ -451,7 +451,7 @@ namespace IO.Swagger.Api if (orderId == null) throw new ApiException(400, "Missing required parameter 'orderId' when calling DeleteOrder"); - var path = "/store/order/{orderId}"; + var path_ = "/store/order/{orderId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -482,7 +482,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling DeleteOrder: " + response.Content, response.Content); @@ -503,7 +503,7 @@ namespace IO.Swagger.Api if (orderId == null) throw new ApiException(400, "Missing required parameter 'orderId' when calling DeleteOrder"); - var path = "/store/order/{orderId}"; + var path_ = "/store/order/{orderId}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -534,7 +534,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling DeleteOrder: " + response.Content, response.Content); diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs index f7c68cfbe35..b4c8d93c28c 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs @@ -240,7 +240,7 @@ namespace IO.Swagger.Api { - var path = "/user"; + var path_ = "/user"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -271,7 +271,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling CreateUser: " + response.Content, response.Content); @@ -290,7 +290,7 @@ namespace IO.Swagger.Api { - var path = "/user"; + var path_ = "/user"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -321,7 +321,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling CreateUser: " + response.Content, response.Content); @@ -338,7 +338,7 @@ namespace IO.Swagger.Api { - var path = "/user/createWithArray"; + var path_ = "/user/createWithArray"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -369,7 +369,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling CreateUsersWithArrayInput: " + response.Content, response.Content); @@ -388,7 +388,7 @@ namespace IO.Swagger.Api { - var path = "/user/createWithArray"; + var path_ = "/user/createWithArray"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -419,7 +419,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling CreateUsersWithArrayInput: " + response.Content, response.Content); @@ -436,7 +436,7 @@ namespace IO.Swagger.Api { - var path = "/user/createWithList"; + var path_ = "/user/createWithList"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -467,7 +467,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling CreateUsersWithListInput: " + response.Content, response.Content); @@ -486,7 +486,7 @@ namespace IO.Swagger.Api { - var path = "/user/createWithList"; + var path_ = "/user/createWithList"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -517,7 +517,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling CreateUsersWithListInput: " + response.Content, response.Content); @@ -535,7 +535,7 @@ namespace IO.Swagger.Api { - var path = "/user/login"; + var path_ = "/user/login"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -567,14 +567,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling LoginUser: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling LoginUser: " + response.ErrorMessage, response.ErrorMessage); - return (string) ApiClient.Deserialize(response.Content, typeof(string), response.Headers); + return (string) ApiClient.Deserialize(response, typeof(string)); } /// @@ -587,7 +587,7 @@ namespace IO.Swagger.Api { - var path = "/user/login"; + var path_ = "/user/login"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -619,11 +619,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling LoginUser: " + response.Content, response.Content); - return (string) ApiClient.Deserialize(response.Content, typeof(string), response.Headers); + return (string) ApiClient.Deserialize(response, typeof(string)); } /// @@ -634,7 +634,7 @@ namespace IO.Swagger.Api { - var path = "/user/logout"; + var path_ = "/user/logout"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -664,7 +664,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling LogoutUser: " + response.Content, response.Content); @@ -682,7 +682,7 @@ namespace IO.Swagger.Api { - var path = "/user/logout"; + var path_ = "/user/logout"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -712,7 +712,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling LogoutUser: " + response.Content, response.Content); @@ -732,7 +732,7 @@ namespace IO.Swagger.Api if (username == null) throw new ApiException(400, "Missing required parameter 'username' when calling GetUserByName"); - var path = "/user/{username}"; + var path_ = "/user/{username}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -763,14 +763,14 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetUserByName: " + response.Content, response.Content); else if (((int)response.StatusCode) == 0) throw new ApiException ((int)response.StatusCode, "Error calling GetUserByName: " + response.ErrorMessage, response.ErrorMessage); - return (User) ApiClient.Deserialize(response.Content, typeof(User), response.Headers); + return (User) ApiClient.Deserialize(response, typeof(User)); } /// @@ -784,7 +784,7 @@ namespace IO.Swagger.Api if (username == null) throw new ApiException(400, "Missing required parameter 'username' when calling GetUserByName"); - var path = "/user/{username}"; + var path_ = "/user/{username}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -815,11 +815,11 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.GET, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling GetUserByName: " + response.Content, response.Content); - return (User) ApiClient.Deserialize(response.Content, typeof(User), response.Headers); + return (User) ApiClient.Deserialize(response, typeof(User)); } /// @@ -835,7 +835,7 @@ namespace IO.Swagger.Api if (username == null) throw new ApiException(400, "Missing required parameter 'username' when calling UpdateUser"); - var path = "/user/{username}"; + var path_ = "/user/{username}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -867,7 +867,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UpdateUser: " + response.Content, response.Content); @@ -889,7 +889,7 @@ namespace IO.Swagger.Api if (username == null) throw new ApiException(400, "Missing required parameter 'username' when calling UpdateUser"); - var path = "/user/{username}"; + var path_ = "/user/{username}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -921,7 +921,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling UpdateUser: " + response.Content, response.Content); @@ -941,7 +941,7 @@ namespace IO.Swagger.Api if (username == null) throw new ApiException(400, "Missing required parameter 'username' when calling DeleteUser"); - var path = "/user/{username}"; + var path_ = "/user/{username}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -972,7 +972,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) ApiClient.CallApi(path, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) ApiClient.CallApi(path_, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling DeleteUser: " + response.Content, response.Content); @@ -993,7 +993,7 @@ namespace IO.Swagger.Api if (username == null) throw new ApiException(400, "Missing required parameter 'username' when calling DeleteUser"); - var path = "/user/{username}"; + var path_ = "/user/{username}"; var pathParams = new Dictionary(); var queryParams = new Dictionary(); @@ -1024,7 +1024,7 @@ namespace IO.Swagger.Api String[] authSettings = new String[] { }; // make the HTTP request - IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); + IRestResponse response = (IRestResponse) await ApiClient.CallApiAsync(path_, Method.DELETE, queryParams, postBody, headerParams, formParams, fileParams, pathParams, authSettings); if (((int)response.StatusCode) >= 400) throw new ApiException ((int)response.StatusCode, "Error calling DeleteUser: " + response.Content, response.Content); diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Client/ApiClient.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Client/ApiClient.cs index 74b898be626..0416f985360 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Client/ApiClient.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Client/ApiClient.cs @@ -214,12 +214,14 @@ namespace IO.Swagger.Client /// /// Deserialize the JSON string into a proper object. /// - /// HTTP body (e.g. string, JSON). + /// The HTTP response. /// Object type. - /// /// Object representation of the JSON string. - public object Deserialize(string content, Type type, IList headers=null) + public object Deserialize(IRestResponse response, Type type) { + byte[] data = response.RawBytes; + string content = response.Content; + IList headers = response.Headers; if (type == typeof(Object)) // return an object { return content; @@ -227,21 +229,22 @@ namespace IO.Swagger.Client if (type == typeof(Stream)) { - var filePath = String.IsNullOrEmpty(Configuration.TempFolderPath) - ? Path.GetTempPath() - : Configuration.TempFolderPath; - - var fileName = filePath + Guid.NewGuid(); if (headers != null) { + var filePath = String.IsNullOrEmpty(Configuration.TempFolderPath) + ? Path.GetTempPath() + : Configuration.TempFolderPath; var regex = new Regex(@"Content-Disposition:.*filename=['""]?([^'""\s]+)['""]?$"); var match = regex.Match(headers.ToString()); if (match.Success) - fileName = filePath + match.Value.Replace("\"", "").Replace("'", ""); + { + string fileName = filePath + match.Value.Replace("\"", "").Replace("'", ""); + File.WriteAllBytes(fileName, data); + return new FileStream(fileName, FileMode.Open); + } } - File.WriteAllText(fileName, content); - return new FileStream(fileName, FileMode.Open); - + var stream = new MemoryStream(data); + return stream; } if (type.Name.StartsWith("System.Nullable`1[[System.DateTime")) // return a datetime object diff --git a/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll b/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll index 74b5b6455e3f793db9f44be0d3daedbfed1a907d..3541160c3b9ace66ad275322526c3a6d0c45eb8a 100755 GIT binary patch delta 17184 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 delta 17408 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 ZyZb_Y)cyHCOj4vE>ig4|Vtt7 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 F{y+8>VkH0o literal 18987 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 diff --git a/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll b/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll index 74b5b6455e3f793db9f44be0d3daedbfed1a907d..3541160c3b9ace66ad275322526c3a6d0c45eb8a 100755 GIT binary patch delta 17184 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 delta 17408 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 ZyZb_Y)cyHCOj4vE>ig4|Vtt7 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 F{y+8>VkH0o literal 18987 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