add the extended exception

This commit is contained in:
2021-12-08 16:10:00 +01:00
parent 1db317df59
commit c2cbc96d83
2 changed files with 34 additions and 3 deletions

View File

@ -22,11 +22,9 @@ generateclient_dotnetcore:
- INSTANCE_SPECIFIER=`cat instance.txt`
- API_MAJOR_VERSION=`cat api_major_version.txt`
- API_VERSION=`cat api_version.txt | awk -F- '{print $1}'`
- ls -lR output
- echo output/src/$CLIENT_PACKAGE_PREFIX.$CI_PROJECT_NAME.$INSTANCE_SPECIFIER.v$API_MAJOR_VERSION/Model/ErrorResultObject.cs
- ls -l output/src/$CLIENT_PACKAGE_PREFIX.$CI_PROJECT_NAME.$INSTANCE_SPECIFIER.v$API_MAJOR_VERSION/Model/ErrorResultObject.cs
- if [ -f output/src/$CLIENT_PACKAGE_PREFIX.$CI_PROJECT_NAME.$INSTANCE_SPECIFIER.v$API_MAJOR_VERSION/Model/ErrorResultObject.cs ]; then
echo "ErrorResultObject.cs exists, start the postprocessing";
cat ClientExtApiException.cs | sed -e 's,NAMESPACEPLACEHOLDER,'$CLIENT_PACKAGE_PREFIX.$CI_PROJECT_NAME.$INSTANCE_SPECIFIER.v$API_MAJOR_VERSION',g' > output/src/$CLIENT_PACKAGE_PREFIX.$CI_PROJECT_NAME.$INSTANCE_SPECIFIER.v$API_MAJOR_VERSION/Client;
fi
- mv output output_dotnetcore

33
ClientExtApiException.cs Normal file
View File

@ -0,0 +1,33 @@
#pragma warning disable 1591
using System;
using NAMESPACEPLACEHOLDER.Model;
using Newtonsoft.Json;
namespace NAMESPACEPLACEHOLDER.Client {
class ExtApiException: ApiException {
public int ErrorCode { get; }
public int ServiceErrorCode { get; }
public String OffensiveData { get; }
public ExtApiException(ErrorResultObject ero): base(ero.errorCode, ero.errorMessage, ero) {
ErrorCode = ero.errorCode;
ServiceErrorCode = ero.serviceErrorCode;
OffensiveData = ero.offensiveData;
}
public static ExceptionFactory ExtExceptionFactory = (methodName, response) => {
var status = (int) response.StatusCode;
if (status >= 400) {
var ero = JsonConvert.DeserializeObject<ErrorResultObject>(response.RawContent);
return new ExtApiException(ero);
}
return null;
};
}
}
#pragma warning restore 1591