Skip to content

Commit

Permalink
Add new logger, solve code duplication req'ments for endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
FairPlay137 committed Apr 19, 2022
1 parent 9262e47 commit c55bcba
Show file tree
Hide file tree
Showing 16 changed files with 266 additions and 592 deletions.
42 changes: 3 additions & 39 deletions Rerun/Controllers/EventController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,45 +23,9 @@ public class EventController : Controller
public XeenResponseMessage GetEventList(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand Down
170 changes: 12 additions & 158 deletions Rerun/Controllers/GameController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,47 +24,9 @@ public class GameController : Controller
public XeenResponseMessage GetDailyChallengeData(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
{
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand All @@ -85,45 +47,9 @@ public XeenResponseMessage GetDailyChallengeData(string key, string param, int s
public XeenResponseMessage GetCostList(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand All @@ -144,45 +70,9 @@ public XeenResponseMessage GetCostList(string key, string param, int secure)
public XeenResponseMessage GetMileageData(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand All @@ -205,45 +95,9 @@ public XeenResponseMessage GetMileageData(string key, string param, int secure)
public XeenResponseMessage GetCampaignList(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand Down
84 changes: 6 additions & 78 deletions Rerun/Controllers/InformationController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,45 +26,9 @@ public class InformationController : Controller
public XeenResponseMessage GetInformation(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand All @@ -90,45 +54,9 @@ public XeenResponseMessage GetInformation(string key, string param, int secure)
public XeenResponseMessage GetTicker(string key, string param, int secure)
{
var context = HttpContext.RequestServices.GetService(typeof(OutrunDbContext)) as OutrunDbContext;
BaseRequest paramData;
if (secure == 1)
{
try
{
paramData = RunnersRequestHelper.DecryptAndDeserializeParam<BaseRequest>(param, key);
}
catch (DecryptFailureException e)
{
// Decryption failed
_logger.LogError("Decryption failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot decrypt",
RunnersResponseHelper.StatusCode.DecryptionFailure,
0));
}
catch (JsonException e)
{
// Deserialization failed
_logger.LogError("Deserialization failed! Details: " + e);
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Cannot deserialize",
RunnersResponseHelper.StatusCode.RequestParamError,
0));
}
}
else
{
paramData = JsonSerializer.Deserialize<BaseRequest>(param);
if (paramData is null)
return RunnersResponseHelper.CraftResponse(true,
RunnersResponseHelper.CreateBaseResponse(
"Assertion failed: !(paramData != null)",
RunnersResponseHelper.StatusCode.ServerSystemError,
0));
}
// TODO: Above is reused code across all endpoints in all controllers!!! Resolve duplication requirement!
var (paramData, errorResponseMsg) = RunnersRequestHelper.TryDecryptParam<BaseRequest>(key, param, secure);
if (errorResponseMsg is not null)
return errorResponseMsg; // something went wrong

Debug.Assert(context != null, nameof(context) + " != null");
var playerId = context.CheckSessionID(paramData.sessionId);
Expand Down
Loading

0 comments on commit c55bcba

Please sign in to comment.