From 488e6042079b4b69208025a0ece4951283e53527 Mon Sep 17 00:00:00 2001 From: wing328 Date: Wed, 1 Jul 2015 21:37:48 +0800 Subject: [PATCH] use stream for file --- .../languages/CSharpClientCodegen.java | 2 +- .../main/resources/csharp/ApiClient.mustache | 54 +++++++++++++--- .../src/main/resources/csharp/api.mustache | 13 ++-- .../src/main/csharp/IO/Swagger/Api/PetApi.cs | 59 ++++++++---------- .../main/csharp/IO/Swagger/Api/StoreApi.cs | 31 ++++----- .../src/main/csharp/IO/Swagger/Api/UserApi.cs | 42 ++++++------- .../csharp/IO/Swagger/Client/ApiClient.cs | 54 +++++++++++++--- .../SwaggerClientTest.userprefs | 8 ++- .../csharp/SwaggerClientTest/TestPet.cs | 3 +- .../bin/Debug/SwaggerClientTest.dll | Bin 55808 -> 55808 bytes .../bin/Debug/SwaggerClientTest.dll.mdb | Bin 16834 -> 16745 bytes ...ClientTest.csproj.FilesWrittenAbsolute.txt | 6 +- .../obj/Debug/SwaggerClientTest.dll | Bin 55808 -> 55808 bytes .../obj/Debug/SwaggerClientTest.dll.mdb | Bin 16834 -> 16745 bytes 14 files changed, 158 insertions(+), 114 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java index 6f5140495c1d..674c842e4093 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java @@ -69,7 +69,7 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("number", "double?"); typeMapping.put("datetime", "DateTime?"); typeMapping.put("date", "DateTime?"); - typeMapping.put("file", "String"); + typeMapping.put("file", "Stream"); typeMapping.put("array", "List"); typeMapping.put("list", "List"); typeMapping.put("map", "Dictionary"); diff --git a/modules/swagger-codegen/src/main/resources/csharp/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/csharp/ApiClient.mustache index 0ae71bda25c0..870bf8495618 100644 --- a/modules/swagger-codegen/src/main/resources/csharp/ApiClient.mustache +++ b/modules/swagger-codegen/src/main/resources/csharp/ApiClient.mustache @@ -39,7 +39,7 @@ namespace {{packageName}}.Client { private Dictionary defaultHeaderMap = new Dictionary(); public Object CallApi(String Path, RestSharp.Method Method, Dictionary QueryParams, String PostBody, - Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { + Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { var response = Task.Run(async () => { var resp = await CallApiAsync(Path, Method, QueryParams, PostBody, HeaderParams, FormParams, FileParams, AuthSettings); return resp; @@ -48,7 +48,7 @@ namespace {{packageName}}.Client { } public async Task CallApiAsync(String Path, RestSharp.Method Method, Dictionary QueryParams, String PostBody, - Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { + Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { var request = new RestRequest(Path, Method); @@ -71,8 +71,9 @@ namespace {{packageName}}.Client { request.AddParameter(param.Key, param.Value); // add file parameter, if any - foreach(KeyValuePair param in FileParams) - request.AddFile(param.Key, param.Value); + foreach(KeyValuePair param in FileParams) + request.AddFile(param.Value.Name, param.Value.Writer, param.Value.FileName, param.Value.ContentType); + if (PostBody != null) { request.AddParameter("application/json", PostBody, ParameterType.RequestBody); // http body (model) parameter @@ -109,6 +110,21 @@ namespace {{packageName}}.Client { return str; } + /// + /// Create FileParameter based on Stream + /// + /// parameter name + /// Stream + /// FileParameter + public FileParameter ParameterToFile(string name, Stream stream) + { + if (stream is FileStream) { + return FileParameter.Create(name, StreamToByteArray(stream), ((FileStream)stream).Name); + } else { + return FileParameter.Create(name, StreamToByteArray(stream), "temp_name_here"); + } + } + /// /// if parameter is DateTime, output in ISO8601 format /// if parameter is a list of string, join the list with "," @@ -136,10 +152,8 @@ namespace {{packageName}}.Client { public object Deserialize(string content, Type type, IList headers=null) { if (type.GetType() == typeof(Object)) { // return an object return (Object)content; - } else if (type.Name == "FileStream") { // return a file (full path) - // e.g. Content-Disposition: attachment; filename=checkimage.jpp - String fileName; - String filePath; + } else if (type.Name == "Stream") { + String fileName, filePath; if (String.IsNullOrEmpty (Configuration.TempFolderPath)) { filePath = System.IO.Path.GetTempPath (); } else { @@ -154,8 +168,8 @@ namespace {{packageName}}.Client { } else { fileName = filePath + Guid.NewGuid().ToString(); } - System.IO.File.WriteAllText (fileName, content); - return fileName; + File.WriteAllText (fileName, content); + return new FileStream(fileName, FileMode.Open); } else if (type.Name.StartsWith("System.Nullable`1[[System.DateTime")) { // return a datetime object return DateTime.Parse(content, null, System.Globalization.DateTimeStyles.RoundtripKind); } else if (type.Name == "String" || type.Name.StartsWith("System.Nullable")) { // return primitive @@ -231,6 +245,26 @@ namespace {{packageName}}.Client { } + /// + /// convert a stream to byte array (byte[]) + /// Ref: http://stackoverflow.com/questions/221925/creating-a-byte-array-from-a-stream + /// + /// input stream + /// Array of Byte + public byte[] StreamToByteArray(Stream input) + { + byte[] buffer = new byte[16*1024]; + using (MemoryStream ms = new MemoryStream()) + { + int read; + while ((read = input.Read(buffer, 0, buffer.Length)) > 0) + { + ms.Write(buffer, 0, read); + } + return ms.ToArray(); + } + } + /// /// Encode string in base64 format /// diff --git a/modules/swagger-codegen/src/main/resources/csharp/api.mustache b/modules/swagger-codegen/src/main/resources/csharp/api.mustache index 7092f66a60c5..3ede1c783a19 100644 --- a/modules/swagger-codegen/src/main/resources/csharp/api.mustache +++ b/modules/swagger-codegen/src/main/resources/csharp/api.mustache @@ -100,14 +100,14 @@ namespace {{packageName}}.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; {{#queryParams}} if ({{paramName}} != null) queryParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // query parameter {{/queryParams}} {{#headerParams}} if ({{paramName}} != null) headerParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // header parameter {{/headerParams}} - {{#formParams}}if ({{paramName}} != null) {{#isFile}}fileParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}}));{{/isFile}}{{^isFile}}formParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // form parameter{{/isFile}} + {{#formParams}}if ({{paramName}} != null) {{#isFile}}fileParams.Add("{{baseName}}", ApiClient.ParameterToFile("{{baseName}}", {{paramName}}));{{/isFile}}{{^isFile}}formParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // form parameter{{/isFile}} {{/formParams}} {{#bodyParam}}postBody = ApiClient.Serialize({{paramName}}); // http body (model) parameter {{/bodyParam}} @@ -122,10 +122,7 @@ namespace {{packageName}}.Api { throw new ApiException ((int)response.StatusCode, "Error calling {{nickname}}: " + response.Content, response.Content); } - {{#returnType}} // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "{{{returnType}}}"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof({{{returnType}}}); - return ({{{returnType}}}) ApiClient.Deserialize(response.Content, returnType, response.Headers);{{/returnType}}{{^returnType}}return;{{/returnType}} + {{#returnType}}return ({{{returnType}}}) ApiClient.Deserialize(response.Content, typeof({{{returnType}}}), response.Headers);{{/returnType}}{{^returnType}}return;{{/returnType}} } /// @@ -148,14 +145,14 @@ namespace {{packageName}}.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; {{#queryParams}} if ({{paramName}} != null) queryParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // query parameter {{/queryParams}} {{#headerParams}} if ({{paramName}} != null) headerParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // header parameter {{/headerParams}} - {{#formParams}}if ({{paramName}} != null) {{#isFile}}fileParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}}));{{/isFile}}{{^isFile}}formParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // form parameter{{/isFile}} + {{#formParams}}if ({{paramName}} != null) {{#isFile}}fileParams.Add("{{baseName}}", ApiClient.ParameterToFile("{{baseName}}", {{paramName}}));{{/isFile}}{{^isFile}}formParams.Add("{{baseName}}", ApiClient.ParameterToString({{paramName}})); // form parameter{{/isFile}} {{/formParams}} {{#bodyParam}}postBody = ApiClient.Serialize({{paramName}}); // http body (model) parameter {{/bodyParam}} 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 2974cb6932b5..96f6f93af57a 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 @@ -122,7 +122,7 @@ namespace IO.Swagger.Api { /// Additional data to pass to server /// file to upload - void UploadFile (long? petId, string additionalMetadata, String file); + void UploadFile (long? petId, string additionalMetadata, Stream file); /// /// uploads an image @@ -131,7 +131,7 @@ namespace IO.Swagger.Api { /// Additional data to pass to server /// file to upload - Task UploadFileAsync (long? petId, string additionalMetadata, String file); + Task UploadFileAsync (long? petId, string additionalMetadata, Stream file); } @@ -202,7 +202,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -240,7 +240,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -277,7 +277,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -315,7 +315,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -352,7 +352,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (status != null) queryParams.Add("status", ApiClient.ParameterToString(status)); // query parameter @@ -371,10 +371,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByStatus: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "List"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(List); - return (List) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (List) ApiClient.Deserialize(response.Content, typeof(List), response.Headers); } /// @@ -393,7 +390,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (status != null) queryParams.Add("status", ApiClient.ParameterToString(status)); // query parameter @@ -429,7 +426,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (tags != null) queryParams.Add("tags", ApiClient.ParameterToString(tags)); // query parameter @@ -448,10 +445,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling FindPetsByTags: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "List"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(List); - return (List) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (List) ApiClient.Deserialize(response.Content, typeof(List), response.Headers); } /// @@ -470,7 +464,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (tags != null) queryParams.Add("tags", ApiClient.ParameterToString(tags)); // query parameter @@ -510,7 +504,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -528,10 +522,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling GetPetById: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "Pet"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(Pet); - return (Pet) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (Pet) ApiClient.Deserialize(response.Content, typeof(Pet), response.Headers); } /// @@ -554,7 +545,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -595,7 +586,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -640,7 +631,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -683,7 +674,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -726,7 +717,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -754,7 +745,7 @@ namespace IO.Swagger.Api { /// Additional data to pass to server /// file to upload - public void UploadFile (long? petId, string additionalMetadata, String file) { + public void UploadFile (long? petId, string additionalMetadata, Stream file) { // verify the required parameter 'petId' is set @@ -769,13 +760,13 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (additionalMetadata != null) formParams.Add("additionalMetadata", ApiClient.ParameterToString(additionalMetadata)); // form parameter - if (file != null) fileParams.Add("file", ApiClient.ParameterToString(file)); + if (file != null) fileParams.Add("file", ApiClient.ParameterToFile("file", file)); @@ -799,7 +790,7 @@ namespace IO.Swagger.Api { /// Additional data to pass to server /// file to upload - public async Task UploadFileAsync (long? petId, string additionalMetadata, String file) { + public async Task UploadFileAsync (long? petId, string additionalMetadata, Stream file) { // verify the required parameter 'petId' is set @@ -814,13 +805,13 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (additionalMetadata != null) formParams.Add("additionalMetadata", ApiClient.ParameterToString(additionalMetadata)); // form parameter - if (file != null) fileParams.Add("file", ApiClient.ParameterToString(file)); + if (file != null) fileParams.Add("file", ApiClient.ParameterToFile("file", file)); 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 14188799013e..90ec2487d9d3 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 @@ -133,7 +133,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -151,10 +151,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling GetInventory: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "Dictionary"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(Dictionary); - return (Dictionary) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (Dictionary) ApiClient.Deserialize(response.Content, typeof(Dictionary), response.Headers); } /// @@ -172,7 +169,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -207,7 +204,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -226,10 +223,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling PlaceOrder: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "Order"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(Order); - return (Order) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (Order) ApiClient.Deserialize(response.Content, typeof(Order), response.Headers); } /// @@ -248,7 +242,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -288,7 +282,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -306,10 +300,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling GetOrderById: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "Order"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(Order); - return (Order) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (Order) ApiClient.Deserialize(response.Content, typeof(Order), response.Headers); } /// @@ -332,7 +323,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -371,7 +362,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -412,7 +403,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; 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 86549479e320..0e3ed36c5950 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 @@ -194,7 +194,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -232,7 +232,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -269,7 +269,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -307,7 +307,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -344,7 +344,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -382,7 +382,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -420,7 +420,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (username != null) queryParams.Add("username", ApiClient.ParameterToString(username)); // query parameter @@ -440,10 +440,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling LoginUser: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "string"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(string); - return (string) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (string) ApiClient.Deserialize(response.Content, typeof(string), response.Headers); } /// @@ -463,7 +460,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; if (username != null) queryParams.Add("username", ApiClient.ParameterToString(username)); // query parameter @@ -499,7 +496,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -535,7 +532,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -575,7 +572,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -593,10 +590,7 @@ namespace IO.Swagger.Api { throw new ApiException ((int)response.StatusCode, "Error calling GetUserByName: " + response.Content, response.Content); } - // if return type is "String" (not "string"), it implies a Filestream and should return the file path - String returnTypeString = "User"; - Type returnType = returnTypeString == "String" ? typeof(FileStream) : typeof(User); - return (User) ApiClient.Deserialize(response.Content, returnType, response.Headers); + return (User) ApiClient.Deserialize(response.Content, typeof(User), response.Headers); } /// @@ -619,7 +613,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -659,7 +653,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -702,7 +696,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -743,7 +737,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; @@ -784,7 +778,7 @@ namespace IO.Swagger.Api { var queryParams = new Dictionary(); var headerParams = new Dictionary(); var formParams = new Dictionary(); - var fileParams = new Dictionary(); + var fileParams = new Dictionary(); String postBody = null; 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 a6b5c3a91da9..04228fad38c4 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 @@ -39,7 +39,7 @@ namespace IO.Swagger.Client { private Dictionary defaultHeaderMap = new Dictionary(); public Object CallApi(String Path, RestSharp.Method Method, Dictionary QueryParams, String PostBody, - Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { + Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { var response = Task.Run(async () => { var resp = await CallApiAsync(Path, Method, QueryParams, PostBody, HeaderParams, FormParams, FileParams, AuthSettings); return resp; @@ -48,7 +48,7 @@ namespace IO.Swagger.Client { } public async Task CallApiAsync(String Path, RestSharp.Method Method, Dictionary QueryParams, String PostBody, - Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { + Dictionary HeaderParams, Dictionary FormParams, Dictionary FileParams, String[] AuthSettings) { var request = new RestRequest(Path, Method); @@ -71,8 +71,9 @@ namespace IO.Swagger.Client { request.AddParameter(param.Key, param.Value); // add file parameter, if any - foreach(KeyValuePair param in FileParams) - request.AddFile(param.Key, param.Value); + foreach(KeyValuePair param in FileParams) + request.AddFile(param.Value.Name, param.Value.Writer, param.Value.FileName, param.Value.ContentType); + if (PostBody != null) { request.AddParameter("application/json", PostBody, ParameterType.RequestBody); // http body (model) parameter @@ -109,6 +110,21 @@ namespace IO.Swagger.Client { return str; } + /// + /// Create FileParameter based on Stream + /// + /// parameter name + /// Stream + /// FileParameter + public FileParameter ParameterToFile(string name, Stream stream) + { + if (stream is FileStream) { + return FileParameter.Create(name, StreamToByteArray(stream), ((FileStream)stream).Name); + } else { + return FileParameter.Create(name, StreamToByteArray(stream), "temp_name_here"); + } + } + /// /// if parameter is DateTime, output in ISO8601 format /// if parameter is a list of string, join the list with "," @@ -136,10 +152,8 @@ namespace IO.Swagger.Client { public object Deserialize(string content, Type type, IList headers=null) { if (type.GetType() == typeof(Object)) { // return an object return (Object)content; - } else if (type.Name == "FileStream") { // return a file (full path) - // e.g. Content-Disposition: attachment; filename=checkimage.jpp - String fileName; - String filePath; + } else if (type.Name == "Stream") { + String fileName, filePath; if (String.IsNullOrEmpty (Configuration.TempFolderPath)) { filePath = System.IO.Path.GetTempPath (); } else { @@ -154,8 +168,8 @@ namespace IO.Swagger.Client { } else { fileName = filePath + Guid.NewGuid().ToString(); } - System.IO.File.WriteAllText (fileName, content); - return fileName; + File.WriteAllText (fileName, content); + return new FileStream(fileName, FileMode.Open); } else if (type.Name.StartsWith("System.Nullable`1[[System.DateTime")) { // return a datetime object return DateTime.Parse(content, null, System.Globalization.DateTimeStyles.RoundtripKind); } else if (type.Name == "String" || type.Name.StartsWith("System.Nullable")) { // return primitive @@ -236,6 +250,26 @@ namespace IO.Swagger.Client { } + /// + /// convert a stream to byte array (byte[]) + /// Ref: http://stackoverflow.com/questions/221925/creating-a-byte-array-from-a-stream + /// + /// input stream + /// Array of Byte + public byte[] StreamToByteArray(Stream input) + { + byte[] buffer = new byte[16*1024]; + using (MemoryStream ms = new MemoryStream()) + { + int read; + while ((read = input.Read(buffer, 0, buffer.Length)) > 0) + { + ms.Write(buffer, 0, read); + } + return ms.ToArray(); + } + } + /// /// Encode string in base64 format /// diff --git a/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs b/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs index 3bc490c9a585..1c38cae6799f 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs +++ b/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs @@ -1,10 +1,12 @@  - + - - + + + + diff --git a/samples/client/petstore/csharp/SwaggerClientTest/TestPet.cs b/samples/client/petstore/csharp/SwaggerClientTest/TestPet.cs index bc8fe0fb7578..33530cb0b993 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/TestPet.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/TestPet.cs @@ -119,7 +119,8 @@ namespace SwaggerClient.TestPet { PetApi petApi = new PetApi (); //NOTE: please provide a valid file (full path) - petApi.UploadFile(petId, "new form name", "/var/tmp/small.gif"); + FileStream fileStream = new FileStream("/var/tmp/small.gif", FileMode.Open); + petApi.UploadFile(petId, "new form name", fileStream); } diff --git a/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll b/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll index b9ffd217f0c5433081d6e017af35f6cf00168475..b7164e27ba63ca7de38faa682e4db2417a95a593 100755 GIT binary patch literal 55808 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 ZE4EVjf9vNh{r64l>Dd48^S{ml{})&4Oh5nt diff --git a/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll.mdb b/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll.mdb index 2269827753b4012a43ecc2e0b52a796239969de3..1faa990e20451f7b865a66ada42a305a3c5c6953 100644 GIT binary patch literal 16745 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 literal 16834 zcmd5^cU)6f`+x4e2}uYz5jshc>9@e3!m%p>Vxc@tMM&19Oyz+grX1I61jo1uss6IG;h-H!^-~jy1C6sm$D5YjH$2 zHgc_nktLa9iVCbHk=X@#*22=rB5P?$>DXdxWOm7@%;KWRKGN>-VrgG%Noi!yyevm+ zWJz&$pjb4{s;Z-<(-^5+-|9*=W)TM^A%sX%Qr9VP` zkL+|+q5o^6cF&m!i)cw*X}2`K*l>}QlhLwnVAONv*;^}I7GG-CG5`H>w7l*$KH=$X zYf)+5*g_}mul)St*IU+gej)96+HjXHZ>G_TI@bR9v4tb^a>o~EJ|=+Yy`sBsb-lhc zYWCSFyNl9S(W1H%Knm8fg2?#HQfuzm;)zcBzVZ3V{N4gV-E+$JkyCZccGjHXf> zILBJ-q}}5V_?rf|nZIGLp>X^5iErf6yt>upSlXSm`plet^(NjrZ3%S$z0-wNhrh3D zt?rwd>!j67ePerX|M%Tv8}^S_m>+-l7pgM{QE7~@W!*`$`EfTlo(d>@E3K`u^msr& zZ_4@qJM^>Tzw?w|jhB5@~Ix zHXJ)~sqfxcV*d~l=5d@!k580IZ-~+p$GJtS{517c^#CQeP)D!mHtJZ_B&_5(v)*8g zVmm2S-fl|nq>et*ow5~gK;^)yRA zTQ60-o8wRrz`drY&H614#$fJ!J$<0x52KnCMVY0eh|`W6Z!Mmfo>`nZri6I6QPxaM zX4|IVI&y6B7~6)zb!1+F)wZEj7mY0`wT#V~NG@)f<4Z^Nv6hzR73P+ZN?mL%DH>Z? zVnr*&4w}TR=SbMkabD)Ej%KqtK165gHd8mfz)+?)ny#E^YFWlRS~Ow+Qzkz^OpB)eU+-Q%FtmzGbQ(>7hP)fLnAr#kG$z) z?<3xIF!XhToZkN&dIvdlgE1DP*EVExCsqsnoHu>Z_*!E*^aBPuXgFl3Q=#wVzC_mV zAoQ|~j^-@0CCeyIQbElN-0{ccJyd0Aiue(m#;r}wR868g*|VJg z9Glc9eQ1a82flKAtNmz=-&(&X8s9PQ4$`+mSu=gjS!nHRhSt7DXlkGKmQZ=@O3Uq= zezd@UmA@R-eSdo3{}9_x@Q`tXn~kjfQY$K3){>oMt#^&kR3Sb48&zWJst-;jH?1lC z(Dc`)a(w3k=zPHE0odki9nclLkXG}E-o}1J=f4Y}>j4khZ*i)?3xjJM()qQ4v@Y<~ zz^d{bhhsW_Fpv%f9+pcB91iOI(KCenxYe z*?d;>Iu-EKE5v|5bUe{XdCU?TCI?*YgvYjgdd2in2U^x?T#Ng+K(!J10VRA&L!sv9^8Mf_Y?Gc3XT9*^8?Te3aHH^Lq zyC+qq5QJB1UQh_D!fAE*nsCt@c39!5QXB?ij9%9De|?* z|3wrh{yvIWXQ>!BMT}y1BrR*bzO@|1&DM0Q^=)j|p+nj_?kH9}L0DSjLP0!_6fcyj z<;~&n7FQLy+RxNAO#G4$bnLVXS4)lB_6<-9f3>DE<4mL64fl-ntMNXzpWu+ppCd;3 zy*TZ-A!tQ9=6TLUOPGwSB)&=3MS{DX2Lv=`F8QBw8pg7B-V?1L~D>@mx*?p_Q=*|Y~N;z<0ksVbi&aZs<>*RZ%p69%5nCaX}G{p z2%#LG?5fZ2q+|E~7T}|5qG_yDJT%b@<`>OXp(tK6(`NG)X&b-F;PlDt9$Ty$`|dT< zJLY%gvMf$N8bv0xQgPNy=gjBjlF^(#9wjYRO2ut6-7){nN(AW=$t_soHc1jE^<%Aj ziqmK5pUKYBXJzYkIryzo<)dj@FGSO*p2l0Lm>x^zvFl<9_mkA@R$^-A7%R_XSz@G3gwv0((F;Z3ukq8mFjO2BysyoIQLIVoPLDj2U{fNpJQrnhnNyLxx9SSy{FT#o0(W z+d*$B*JWgZ4Y_(ljzMoR#v-giss;@rwDlS_iiq;+8miT`&}tiNBmA|Ve)YrK#A|i+ z!=klX19tF9)i%Lytz-IXbtt(vhW?LkCEaaR!ME5v-BhInG0G znXl8EM2Dd&ZA)Z2q`p#dz7u`b>1HS5dD3PU<@K;m?4MaM9`{<^q^&U#Pt4=2) z;-p&Rl31+=5xP0qY);P5FV%My^P|Ge*5HAfdK#r-L1)_D`A}#4loafaE~ntd+qWK* z(N4cojt?y1grE{u(P>olY_zU-n1_0NzA?I8+i2mYI8``K@ZjCq*q+I$G%EiF5nk>g zjosa~Dt}Cu&UC-?%sA#iU21*0)H1Qu%C4Ig!q2GBWEKZ?ba-o(FZw8szKr_{`${|f zi5>XyTGVSnOaF+YKjZ$g6)J^BoJofgwRw92yD(b`(M!$LbPyCf@ib2(s)Kl&$SKJzFT;-8C-TjhY6LfriZp0AmioHBsZgi#ZyZ#`TXK=a<6!|r6>hf{|O;0FK5Pu1iYHb3o zOL$e(Lm*@at&+}ta5GU8wTA_sVeVAbGub^lLAx;tvJ1b z<;6#3P^yl0qhsAFr83ym*SgVn-LBjARog;P|Jsf2cYEMy^-<4Aq?w7c5~X_8f)s*! zO(LyLT<2)@SMN@wJ&Ai|YZDf(kNT5DI+6IPqcuSNO(K1pculr8W%~xGe@mp_6aR3u z2CL^J(cGkpq^dSFm+D=gL>rPeI$8tN?Um4OCxGq8mxy z!zy>VS}<1cac5g`YWEkqS2aJmT58na zcBgCIzmv+)QqAOKDodV{EbXhYrA9M1nJSX!Ia+-*8e@#u=%DDs;5RXDTOAdl%_Z z*Qu#AJ+(Yl3c=N3;=3M9r9-KQr80z|y_iauQZL)~)!IVP-b$t0sdpT$KH3-3=*6^Y zX;QsfY2y27m!{FOwB?T0AT8e2c`I$ZY!yeBzxJav`Z(=~qqUj#t2FvL?V@ZIN0*=W zZW{fPcF)loqGUA|p`*2_c4jY{)oXUIsy0Nkef_j+d(paHuR2#({IS45mT+xB)4@tUGhV@t>OD=sJ@K`70{(OQA; z5>mS048^KNC!am*#cYJ*7 zDb)CQN;ZXuLMyoa(VMpQdA$$oGl%M1avnN!1v|46q#dX9rI~$a^(9`AcjVBnlF_(8 zl-~ysTNZ;e3v<3%XEsH%2XMw{T}D(sdOQjTQE>yzY{|?7i_M3Z!dszLL}(S^;&=0~ zR$7Izoms1B4UW|+T51)6C~6mnR&VJ`ANM_i#_;yW)M!PD)QbPE4TgW*f<67{lYS@q z{ap*#vmkSES#-YH6oqhg8Mf{a`+@~;3%r?D!TcgV1RtqYglZLH@Q7A$d#68r+W%z# zTKSoP%47FdRe>GX4xp_AwhbU&Veb;xlG4o5@g+U;N=k`W6@c(|3>(E zoN)lhoBFds^*n3xGqDDmv$tG~QNkbMiNC-dh_f}=PvNid_ICGHDBYAHZjgdo zxUys=lzhtn$W&>6XKmT z!S-lg^e#P^Uo(u>4%^1ON#5rSr@6x`hTFYA6gIP7SncB6```A$P$x~O{s>*ph>}}1 zoK_Ft!u(3@STuqbk61Fo-j0L(JzQq;YGG~7`7I8F>haqLLbvL}P$i83_B1dw={Y?A z-8h0ajd+{+5PkA9GHGV!tW3MlbNtJK=<`-hpKMJT<8N`B%yY#4Xel{)0Ud22~p8v|GN7<8d?4G3_7u3SV z|J37>$Ee5mwo;gtL$h<1u-Zj$!jC!hQ_f9i-d=OIj#uwt$y<_hZ?;Eff8@}gIWJjd zcVAfPOY2u`+jfAGgS+?7+$B19XM48wgOz@?-nY9uI+Bi!tQ=`~w_G@ZafH77(CO+e zE?wgDrRss&=T5Kc-m5=hl2?yLZ3p7v(uI-q#mH;Suhh$*<iVsKAN25QMwsGqxM>tBiU zsp3~TX{(ak$8*9}ZXqvi@8h=#oboh3&33N1O<1YmRELEJw(XUQxk^s6Q}Mm+hT}5j z4ka#Da2E%MCy(MGM`LvPWtPGDS;o98ophFeCQW%)I%esYm_7J^yP?&10OE;N+hVD2 z(S*h}v{+OzG4*3K0WBNG#7HtUT9(ZsW$7Qrq_3u-iap&JO?O5gEs%TY`WU(~=KC?& zwk-w$mvBoQ4G%-Z_54Q8b+DQ}GYR)?;p?k-FoqtEnNleKdVL{nDBOtchIns05ig8~ z0y^lC;J$z!dJ4D%@PJ+go&$J7?*MNFyr7SQ4*-pz|BbiKy8_ zbZ}F^1U(Hr6);10M`v?DEc767e;@^VA$S6i3cU-w7D$6W3qAy-L*D~m1$sfdAyGWg z8#)Nw80Z6i9=r_b3w<5@Ezl2o1(KNw^oQOC-V6+Y&Ou^BfPv7Z;Bmkp=+Q`WJs<=6 zS@6@qVCYsz_%F~ypgTdEfuYcmNd9@~VbGnSV}aq&0tUh!=n>F*=mtP0^cnC>APf3i z@D(5%x)BD;&(Jy05zx&5Jgaeu2b+MA(1XC~KrZxHW&=h+uL4g4@}S=UZw2z9E5ZAK z(a_hxp92NZY%t!19s}JCx;an?or-~Z6nZRlIrLbd2>M&_VPG8F9|N`?Pz+rR9tM;^ z&jvpaltOO;F9XIye+1qMOn|-tJ`Fqt{RsRk@HDh12EH3G5jq?k2s{Jb1>7EZ7P=QW z6?hIh7d#C37xcftrNF%=gB}ju0hj{)Jh%Xu z3cVOS19$;?6L>xFBJ}&( zoCnN=E(1>lW|1$zL?p`*ZI zzzXQ@;5c9<^l)&0U={RuZ~?Fyx*S{vtbtw)UIeU#-UZ$Utb;xdJ_Ni9eHDBGSP%UW zd>hyRT|XFKz(&vnZ~(9gx&k}}cnx|DcqOnIdN=rWU<>po;KRUH=x@MZ0NbE{1K$B& zhwc!9F$uf@-4EOicoW(R&H~Nw!GVn2U zn{c8}p^rc>hVBgLvI0Z0zQFON1!dxC!oEdJ%LZ5 zr-CDalhE_QbAivGsTFbyeG0k(v^#JbdJ;GUI0HQgJQFwzt&YUlfj$TA4ebe>hkg+p z349K{5IhgK09~&&#t8Hm(0z}L_Zz?*=J(CRjb7q|rd4A>vI z3_Tq@4Y&gR3wSkf6dK@E!DJ@Yld~=(s4XInXzt z)1gy<@1Z{i=K?=Kp9h}-euR#WCb|Xv6LeSTF2GIbo#4T&4EjUxLEtvDF$S?h-+{J3 zcLsij-U1#3+=YG@ya)INx)OW@xCea={5kL|^w({PdI0yKZ-RdS9zgrF!`cEogl-8A z1vrxahXWoQf(-$D39JAwf>8!I|^OFkHA{+4(#LxF2GK# z{-43D{(E3n{{t|q|93E}|1U7BpF?G=egzmNQh{0huJ~g0yMtN%4Zy5^J^23s6oP5s diff --git a/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.csproj.FilesWrittenAbsolute.txt b/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.csproj.FilesWrittenAbsolute.txt index ff57f8c80e39..9afb7990f577 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.csproj.FilesWrittenAbsolute.txt +++ b/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.csproj.FilesWrittenAbsolute.txt @@ -1,8 +1,8 @@ /Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs +/Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/nunit.framework.dll +/Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/Newtonsoft.Json.dll +/Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/RestSharp.dll /Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll.mdb /Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/SwaggerClientTest.dll /Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll /Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll.mdb -/Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/nunit.framework.dll -/Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/Newtonsoft.Json.dll -/Users/williamcheng/Code/swagger-codegen/samples/client/petstore/csharp/SwaggerClientTest/bin/Debug/RestSharp.dll diff --git a/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll b/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll index b9ffd217f0c5433081d6e017af35f6cf00168475..b7164e27ba63ca7de38faa682e4db2417a95a593 100755 GIT binary patch literal 55808 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 ZE4EVjf9vNh{r64l>Dd48^S{ml{})&4Oh5nt diff --git a/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll.mdb b/samples/client/petstore/csharp/SwaggerClientTest/obj/Debug/SwaggerClientTest.dll.mdb index 2269827753b4012a43ecc2e0b52a796239969de3..1faa990e20451f7b865a66ada42a305a3c5c6953 100644 GIT binary patch literal 16745 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 literal 16834 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