Repository navigation
Expand file tree
/
Copy pathUtilities.cs
More file actions
92 lines (86 loc) · 3.78 KB
/
Copy pathUtilities.cs
File metadata and controls
92 lines (86 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Copyright 2023 Keyfactor
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License. You may obtain a
// copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless
// required by applicable law or agreed to in writing, software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
// OR CONDITIONS OF ANY KIND, either express or implied. See the License for
// thespecific language governing permissions and limitations under the
// License.
using Keyfactor.Logging;
using Keyfactor.Orchestrators.Extensions;
using Microsoft.Extensions.Logging;
using System;
namespace Keyfactor.Extensions.Orchestrator.F5Orchestrator
{
internal class ExceptionHandler
{
public static string FlattenExceptionMessages(Exception ex, string message)
{
if (ex is F5RESTException)
{
message += " " + ((F5RESTException)ex).message + Environment.NewLine;
}
else
{
message += " " + ex.Message + Environment.NewLine;
}
if (ex.InnerException != null)
{
message = FlattenExceptionMessages(ex.InnerException, message);
}
return message;
}
}
public class BindException : Exception
{
public BindException(string message) : base(message) { }
}
public class SyncException : Exception
{
public SyncException(string message) : base(message) { }
}
internal class F5RESTException : Exception
{
#region Properties from F5
public int code { get; set; }
public string[] errorStack { get; set; }
public int apiError { get; set; }
public string message { get; set; }
#endregion
public string RequestString { get; set; }
public bool IsPost { get; set; } = false;
public string RequestBody { get; set; }
}
internal class LogHandlerCommon
{
public static void MethodEntry(ILogger logger, CertificateStore certificateStore, string name)
{
logger.LogTrace($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] Entered '{name}' method.");
}
public static void MethodExit(ILogger logger, CertificateStore certificateStore, string name)
{
logger.LogTrace($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] Leaving '{name}' method.");
}
public static void Info(ILogger logger, CertificateStore certificateStore, string message)
{
logger.LogInformation($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] {message}");
}
public static void Error(ILogger logger, CertificateStore certificateStore, string message)
{
logger.LogError($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] {message}");
}
public static void Warn(ILogger logger, CertificateStore certificateStore, string message)
{
logger.LogWarning($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] {message}");
}
public static void Debug(ILogger logger, CertificateStore certificateStore, string message)
{
logger.LogDebug($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] {message}");
}
public static void Trace(ILogger logger, CertificateStore certificateStore, string message)
{
logger.LogTrace($"[Host:{certificateStore.ClientMachine}][Store:{certificateStore.StorePath}] {message}");
}
}
}