Skip to content

Commit 017bce1

Browse files
committed
fix: Handle FormatExceptions when adding path parameters
1 parent 569089a commit 017bce1

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

Runtime/Client/EndPointClass.cs

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,50 @@ public EndPointClass(string endPoint, LootLockerHTTPMethod httpMethod, LootLocke
2727

2828
public string WithPathParameter(object arg0)
2929
{
30-
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()));
30+
try {
31+
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()));
32+
}
33+
catch (FormatException e)
34+
{
35+
LootLockerLogger.Log($"Error formatting endpoint \"{endPoint}\" with path parameter \"{WebUtility.UrlEncode(arg0.ToString())}\": {e}", LootLockerLogger.LogLevel.Error);
36+
return endPoint;
37+
}
3138
}
3239

3340
public string WithPathParameters(object arg0, object arg1)
3441
{
35-
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()), WebUtility.UrlEncode(arg1.ToString()));
42+
try {
43+
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()), WebUtility.UrlEncode(arg1.ToString()));
44+
}
45+
catch (FormatException e)
46+
{
47+
LootLockerLogger.Log($"Error formatting endpoint \"{endPoint}\" with path parameters \"{WebUtility.UrlEncode(arg0.ToString())}\", \"{WebUtility.UrlEncode(arg1.ToString())}\": {e}", LootLockerLogger.LogLevel.Error);
48+
return endPoint;
49+
}
3650
}
3751

3852
public string WithPathParameters(object arg0, object arg1, object arg2)
3953
{
40-
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()), WebUtility.UrlEncode(arg1.ToString()), WebUtility.UrlEncode(arg2.ToString()));
54+
try {
55+
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()), WebUtility.UrlEncode(arg1.ToString()), WebUtility.UrlEncode(arg2.ToString()));
56+
}
57+
catch (FormatException e)
58+
{
59+
LootLockerLogger.Log($"Error formatting endpoint \"{endPoint}\" with path parameters \"{WebUtility.UrlEncode(arg0.ToString())}\", \"{WebUtility.UrlEncode(arg1.ToString())}\", \"{WebUtility.UrlEncode(arg2.ToString())}\": {e}", LootLockerLogger.LogLevel.Error);
60+
return endPoint;
61+
}
4162
}
4263

4364
public string WithPathParameters(object arg0, object arg1, object arg2, object arg3)
4465
{
45-
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()), WebUtility.UrlEncode(arg1.ToString()), WebUtility.UrlEncode(arg2.ToString()), WebUtility.UrlEncode(arg3.ToString()));
66+
try {
67+
return string.Format(endPoint, WebUtility.UrlEncode(arg0.ToString()), WebUtility.UrlEncode(arg1.ToString()), WebUtility.UrlEncode(arg2.ToString()), WebUtility.UrlEncode(arg3.ToString()));
68+
}
69+
catch (FormatException e)
70+
{
71+
LootLockerLogger.Log($"Error formatting endpoint \"{endPoint}\" with path parameters \"{WebUtility.UrlEncode(arg0.ToString())}\", \"{WebUtility.UrlEncode(arg1.ToString())}\", \"{WebUtility.UrlEncode(arg2.ToString())}\", \"{WebUtility.UrlEncode(arg3.ToString())}\": {e}", LootLockerLogger.LogLevel.Error);
72+
return endPoint;
73+
}
4674
}
4775
}
4876
}

0 commit comments

Comments
 (0)