mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-04 06:30:52 +00:00
[csharp-netcore] Propagate raw content to the ApiException error content. (#4381)
* [csharp-netcore] Propagate raw content to the ApiException error content.
This commit is contained in:
parent
c663124ce3
commit
4494bf1e9a
@ -347,7 +347,9 @@ namespace {{packageName}}.Client
|
|||||||
private ApiResponse<T> toApiResponse<T>({{#supportsAsync}}IRestResponse<T> response{{/supportsAsync}}{{^supportsAsync}}IRestResponse response, CustomJsonCodec des{{/supportsAsync}})
|
private ApiResponse<T> toApiResponse<T>({{#supportsAsync}}IRestResponse<T> response{{/supportsAsync}}{{^supportsAsync}}IRestResponse response, CustomJsonCodec des{{/supportsAsync}})
|
||||||
{
|
{
|
||||||
T result = {{#supportsAsync}}response.Data{{/supportsAsync}}{{^supportsAsync}}(T)des.Deserialize(response, typeof(T)){{/supportsAsync}};
|
T result = {{#supportsAsync}}response.Data{{/supportsAsync}}{{^supportsAsync}}(T)des.Deserialize(response, typeof(T)){{/supportsAsync}};
|
||||||
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>({{#caseInsensitiveResponseHeaders}}StringComparer.OrdinalIgnoreCase{{/caseInsensitiveResponseHeaders}}), result)
|
string rawContent = response.Content;
|
||||||
|
|
||||||
|
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>({{#caseInsensitiveResponseHeaders}}StringComparer.OrdinalIgnoreCase{{/caseInsensitiveResponseHeaders}}), result, rawContent)
|
||||||
{
|
{
|
||||||
ErrorText = response.ErrorMessage,
|
ErrorText = response.ErrorMessage,
|
||||||
Cookies = new List<Cookie>()
|
Cookies = new List<Cookie>()
|
||||||
|
@ -42,6 +42,11 @@ namespace {{packageName}}.Client
|
|||||||
/// Gets or sets any cookies passed along on the response.
|
/// Gets or sets any cookies passed along on the response.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
List<Cookie> Cookies { get; set; }
|
List<Cookie> Cookies { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The raw content of this response
|
||||||
|
/// </summary>
|
||||||
|
string RawContent { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -94,6 +99,11 @@ namespace {{packageName}}.Client
|
|||||||
{
|
{
|
||||||
get { return Data; }
|
get { return Data; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The raw content
|
||||||
|
/// </summary>
|
||||||
|
public string RawContent { get;}
|
||||||
|
|
||||||
#endregion Properties
|
#endregion Properties
|
||||||
|
|
||||||
@ -105,11 +115,23 @@ namespace {{packageName}}.Client
|
|||||||
/// <param name="statusCode">HTTP status code.</param>
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
/// <param name="headers">HTTP headers.</param>
|
/// <param name="headers">HTTP headers.</param>
|
||||||
/// <param name="data">Data (parsed HTTP body)</param>
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data)
|
/// <param name="rawContent">Raw content.</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data, string rawContent)
|
||||||
{
|
{
|
||||||
StatusCode = statusCode;
|
StatusCode = statusCode;
|
||||||
Headers = headers;
|
Headers = headers;
|
||||||
Data = data;
|
Data = data;
|
||||||
|
RawContent = rawContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
|
/// <param name="headers">HTTP headers.</param>
|
||||||
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data) : this(statusCode, headers, data, null)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -117,10 +139,18 @@ namespace {{packageName}}.Client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="statusCode">HTTP status code.</param>
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
/// <param name="data">Data (parsed HTTP body)</param>
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
public ApiResponse(HttpStatusCode statusCode, T data)
|
/// <param name="rawContent">Raw content.</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, T data, string rawContent) : this(statusCode, null, data, rawContent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, T data) : this(statusCode, data, null)
|
||||||
{
|
{
|
||||||
StatusCode = statusCode;
|
|
||||||
Data = data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Constructors
|
#endregion Constructors
|
||||||
|
@ -45,8 +45,8 @@ namespace {{packageName}}.Client
|
|||||||
if (status >= 400)
|
if (status >= 400)
|
||||||
{
|
{
|
||||||
return new ApiException(status,
|
return new ApiException(status,
|
||||||
string.Format("Error calling {0}: {1}", methodName, response.Content),
|
string.Format("Error calling {0}: {1}", methodName, response.RawContent),
|
||||||
response.Content);
|
response.RawContent);
|
||||||
}
|
}
|
||||||
{{^netStandard}}if (status == 0)
|
{{^netStandard}}if (status == 0)
|
||||||
{
|
{
|
||||||
|
@ -350,7 +350,9 @@ namespace Org.OpenAPITools.Client
|
|||||||
private ApiResponse<T> toApiResponse<T>(IRestResponse<T> response)
|
private ApiResponse<T> toApiResponse<T>(IRestResponse<T> response)
|
||||||
{
|
{
|
||||||
T result = response.Data;
|
T result = response.Data;
|
||||||
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>(), result)
|
string rawContent = response.Content;
|
||||||
|
|
||||||
|
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>(), result, rawContent)
|
||||||
{
|
{
|
||||||
ErrorText = response.ErrorMessage,
|
ErrorText = response.ErrorMessage,
|
||||||
Cookies = new List<Cookie>()
|
Cookies = new List<Cookie>()
|
||||||
|
@ -51,6 +51,11 @@ namespace Org.OpenAPITools.Client
|
|||||||
/// Gets or sets any cookies passed along on the response.
|
/// Gets or sets any cookies passed along on the response.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
List<Cookie> Cookies { get; set; }
|
List<Cookie> Cookies { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The raw content of this response
|
||||||
|
/// </summary>
|
||||||
|
string RawContent { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -103,6 +108,11 @@ namespace Org.OpenAPITools.Client
|
|||||||
{
|
{
|
||||||
get { return Data; }
|
get { return Data; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The raw content
|
||||||
|
/// </summary>
|
||||||
|
public string RawContent { get;}
|
||||||
|
|
||||||
#endregion Properties
|
#endregion Properties
|
||||||
|
|
||||||
@ -114,11 +124,23 @@ namespace Org.OpenAPITools.Client
|
|||||||
/// <param name="statusCode">HTTP status code.</param>
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
/// <param name="headers">HTTP headers.</param>
|
/// <param name="headers">HTTP headers.</param>
|
||||||
/// <param name="data">Data (parsed HTTP body)</param>
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data)
|
/// <param name="rawContent">Raw content.</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data, string rawContent)
|
||||||
{
|
{
|
||||||
StatusCode = statusCode;
|
StatusCode = statusCode;
|
||||||
Headers = headers;
|
Headers = headers;
|
||||||
Data = data;
|
Data = data;
|
||||||
|
RawContent = rawContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
|
/// <param name="headers">HTTP headers.</param>
|
||||||
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data) : this(statusCode, headers, data, null)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -126,10 +148,18 @@ namespace Org.OpenAPITools.Client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="statusCode">HTTP status code.</param>
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
/// <param name="data">Data (parsed HTTP body)</param>
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
public ApiResponse(HttpStatusCode statusCode, T data)
|
/// <param name="rawContent">Raw content.</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, T data, string rawContent) : this(statusCode, null, data, rawContent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, T data) : this(statusCode, data, null)
|
||||||
{
|
{
|
||||||
StatusCode = statusCode;
|
|
||||||
Data = data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Constructors
|
#endregion Constructors
|
||||||
|
@ -52,8 +52,8 @@ namespace Org.OpenAPITools.Client
|
|||||||
if (status >= 400)
|
if (status >= 400)
|
||||||
{
|
{
|
||||||
return new ApiException(status,
|
return new ApiException(status,
|
||||||
string.Format("Error calling {0}: {1}", methodName, response.Content),
|
string.Format("Error calling {0}: {1}", methodName, response.RawContent),
|
||||||
response.Content);
|
response.RawContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -351,7 +351,9 @@ namespace Org.OpenAPITools.Client
|
|||||||
private ApiResponse<T> toApiResponse<T>(IRestResponse<T> response)
|
private ApiResponse<T> toApiResponse<T>(IRestResponse<T> response)
|
||||||
{
|
{
|
||||||
T result = response.Data;
|
T result = response.Data;
|
||||||
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>(), result)
|
string rawContent = response.Content;
|
||||||
|
|
||||||
|
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>(), result, rawContent)
|
||||||
{
|
{
|
||||||
ErrorText = response.ErrorMessage,
|
ErrorText = response.ErrorMessage,
|
||||||
Cookies = new List<Cookie>()
|
Cookies = new List<Cookie>()
|
||||||
|
@ -51,6 +51,11 @@ namespace Org.OpenAPITools.Client
|
|||||||
/// Gets or sets any cookies passed along on the response.
|
/// Gets or sets any cookies passed along on the response.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
List<Cookie> Cookies { get; set; }
|
List<Cookie> Cookies { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The raw content of this response
|
||||||
|
/// </summary>
|
||||||
|
string RawContent { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -103,6 +108,11 @@ namespace Org.OpenAPITools.Client
|
|||||||
{
|
{
|
||||||
get { return Data; }
|
get { return Data; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The raw content
|
||||||
|
/// </summary>
|
||||||
|
public string RawContent { get;}
|
||||||
|
|
||||||
#endregion Properties
|
#endregion Properties
|
||||||
|
|
||||||
@ -114,11 +124,23 @@ namespace Org.OpenAPITools.Client
|
|||||||
/// <param name="statusCode">HTTP status code.</param>
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
/// <param name="headers">HTTP headers.</param>
|
/// <param name="headers">HTTP headers.</param>
|
||||||
/// <param name="data">Data (parsed HTTP body)</param>
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data)
|
/// <param name="rawContent">Raw content.</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data, string rawContent)
|
||||||
{
|
{
|
||||||
StatusCode = statusCode;
|
StatusCode = statusCode;
|
||||||
Headers = headers;
|
Headers = headers;
|
||||||
Data = data;
|
Data = data;
|
||||||
|
RawContent = rawContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
|
/// <param name="headers">HTTP headers.</param>
|
||||||
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data) : this(statusCode, headers, data, null)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -126,10 +148,18 @@ namespace Org.OpenAPITools.Client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="statusCode">HTTP status code.</param>
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
/// <param name="data">Data (parsed HTTP body)</param>
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
public ApiResponse(HttpStatusCode statusCode, T data)
|
/// <param name="rawContent">Raw content.</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, T data, string rawContent) : this(statusCode, null, data, rawContent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusCode">HTTP status code.</param>
|
||||||
|
/// <param name="data">Data (parsed HTTP body)</param>
|
||||||
|
public ApiResponse(HttpStatusCode statusCode, T data) : this(statusCode, data, null)
|
||||||
{
|
{
|
||||||
StatusCode = statusCode;
|
|
||||||
Data = data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Constructors
|
#endregion Constructors
|
||||||
|
@ -52,8 +52,8 @@ namespace Org.OpenAPITools.Client
|
|||||||
if (status >= 400)
|
if (status >= 400)
|
||||||
{
|
{
|
||||||
return new ApiException(status,
|
return new ApiException(status,
|
||||||
string.Format("Error calling {0}: {1}", methodName, response.Content),
|
string.Format("Error calling {0}: {1}", methodName, response.RawContent),
|
||||||
response.Content);
|
response.RawContent);
|
||||||
}
|
}
|
||||||
if (status == 0)
|
if (status == 0)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user