Fixed some variables

This commit is contained in:
glax 2023-08-27 01:05:32 +02:00
parent fe04af4a2b
commit 181942153b

View File

@ -55,13 +55,13 @@ public class Server : GlobalBase
switch (request.HttpMethod) switch (request.HttpMethod)
{ {
case "GET": case "GET":
HandleGet(request, request.InputStream, response); HandleGet(request, response);
break; break;
case "POST": case "POST":
HandlePost(request, request.InputStream, response); HandlePost(request, response);
break; break;
case "DELETE": case "DELETE":
HandleDelete(request, request.InputStream, response); HandleDelete(request, response);
break; break;
default: default:
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
@ -76,32 +76,30 @@ public class Server : GlobalBase
if (!queryRex.IsMatch(query)) if (!queryRex.IsMatch(query))
return ret; return ret;
query = query.Substring(1); query = query.Substring(1);
foreach (string kvpair in query.Split('&').Where(str => str.Length >= 3)) foreach (string keyValuePair in query.Split('&').Where(str => str.Length >= 3))
{ {
string var = kvpair.Split('=')[0]; string var = keyValuePair.Split('=')[0];
string val = Regex.Replace(kvpair.Substring(var.Length + 1), "%20", " "); string val = Regex.Replace(keyValuePair.Substring(var.Length + 1), "%20", " ");
val = Regex.Replace(val, "%[0-9]{2}", ""); val = Regex.Replace(val, "%[0-9]{2}", "");
ret.Add(var, val); ret.Add(var, val);
} }
return ret; return ret;
} }
private void HandleGet(HttpListenerRequest request, Stream content, HttpListenerResponse response) private void HandleGet(HttpListenerRequest request, HttpListenerResponse response)
{ {
Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query); Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query);
string? connectorName, title, internalId, jobId; string? connectorName, jobId;
MangaConnector connector; MangaConnector connector;
Publication publication;
Job job;
string path = Regex.Match(request.Url!.LocalPath, @"[A-z0-9]+(\/[A-z0-9]+)*").Value; string path = Regex.Match(request.Url!.LocalPath, @"[A-z0-9]+(\/[A-z0-9]+)*").Value;
switch (path) switch (path)
{ {
case "Connectors": case "Connectors":
SendResponse(HttpStatusCode.OK, response, _parent.GetConnectors().Select(connector => connector.name).ToArray()); SendResponse(HttpStatusCode.OK, response, _parent.GetConnectors().Select(con => con.name).ToArray());
break; break;
case "Publications/FromConnector": case "Publications/FromConnector":
if (!requestVariables.TryGetValue("connector", out connectorName) || if (!requestVariables.TryGetValue("connector", out connectorName) ||
!requestVariables.TryGetValue("title", out title) || !requestVariables.TryGetValue("title", out string? title) ||
_parent.GetConnector(connectorName) is null) _parent.GetConnector(connectorName) is null)
{ {
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
@ -112,7 +110,7 @@ public class Server : GlobalBase
break; break;
case "Publications/Chapters": case "Publications/Chapters":
if(!requestVariables.TryGetValue("connector", out connectorName) || if(!requestVariables.TryGetValue("connector", out connectorName) ||
!requestVariables.TryGetValue("internalId", out internalId) || !requestVariables.TryGetValue("internalId", out string? internalId) ||
_parent.GetConnector(connectorName) is null || _parent.GetConnector(connectorName) is null ||
_parent.GetPublicationById(internalId) is null) _parent.GetPublicationById(internalId) is null)
{ {
@ -120,7 +118,7 @@ public class Server : GlobalBase
break; break;
} }
connector = _parent.GetConnector(connectorName)!; connector = _parent.GetConnector(connectorName)!;
publication = (Publication)_parent.GetPublicationById(internalId)!; Publication publication = (Publication)_parent.GetPublicationById(internalId)!;
SendResponse(HttpStatusCode.OK, response, connector.GetChapters(publication)); SendResponse(HttpStatusCode.OK, response, connector.GetChapters(publication));
break; break;
case "Tasks": case "Tasks":
@ -158,13 +156,13 @@ public class Server : GlobalBase
SendResponse(HttpStatusCode.OK, response, notificationConnectors); SendResponse(HttpStatusCode.OK, response, notificationConnectors);
break; break;
case "NotificationsConnectors/Types": case "NotificationsConnectors/Types":
SendResponse(HttpStatusCode.OK, response, Enum.GetNames(typeof(NotificationConnectors.NotificationConnector.NotificationManagerType))); SendResponse(HttpStatusCode.OK, response, Enum.GetNames(typeof(NotificationConnector.NotificationManagerType)));
break; break;
case "LibraryConnectors": case "LibraryConnectors":
SendResponse(HttpStatusCode.OK, response, libraryConnectors); SendResponse(HttpStatusCode.OK, response, libraryConnectors);
break; break;
case "LibraryConnectors/Types": case "LibraryConnectors/Types":
SendResponse(HttpStatusCode.OK, response, Enum.GetNames(typeof(LibraryConnectors.LibraryConnector.LibraryType))); SendResponse(HttpStatusCode.OK, response, Enum.GetNames(typeof(LibraryConnector.LibraryType)));
break; break;
default: default:
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
@ -172,7 +170,7 @@ public class Server : GlobalBase
} }
} }
private void HandlePost(HttpListenerRequest request, Stream content, HttpListenerResponse response) private void HandlePost(HttpListenerRequest request, HttpListenerResponse response)
{ {
Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query); Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query);
string? connectorName, internalId; string? connectorName, internalId;
@ -267,7 +265,7 @@ public class Server : GlobalBase
case "LibraryManagers/Update": case "LibraryManagers/Update":
if (!requestVariables.TryGetValue("libraryManager", out string? libraryManagerStr) || if (!requestVariables.TryGetValue("libraryManager", out string? libraryManagerStr) ||
!Enum.TryParse(libraryManagerStr, !Enum.TryParse(libraryManagerStr,
out LibraryConnectors.LibraryConnector.LibraryType libraryManagerType)) out LibraryConnector.LibraryType libraryManagerType))
{ {
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
break; break;
@ -306,7 +304,7 @@ public class Server : GlobalBase
} }
} }
private void HandleDelete(HttpListenerRequest request, Stream content, HttpListenerResponse response) private void HandleDelete(HttpListenerRequest request, HttpListenerResponse response)
{ {
Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query); Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query);
string? connectorName, internalId; string? connectorName, internalId;
@ -325,18 +323,14 @@ public class Server : GlobalBase
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
break; break;
} }
connector = _parent.GetConnector(connectorName)!;
publication = (Publication)_parent.GetPublicationById(internalId)!;
_parent._jobBoss.RemoveJobs(_parent._jobBoss.GetJobsLike(connectorName, internalId, chapterNumber)); _parent._jobBoss.RemoveJobs(_parent._jobBoss.GetJobsLike(connectorName, internalId, chapterNumber));
SendResponse(HttpStatusCode.Accepted, response); SendResponse(HttpStatusCode.Accepted, response);
break; break;
case "Tasks/MonitorManga": case "Tasks/MonitorManga":
if(!requestVariables.TryGetValue("connector", out connectorName) || if(!requestVariables.TryGetValue("connector", out connectorName) ||
!requestVariables.TryGetValue("internalId", out internalId) || !requestVariables.TryGetValue("internalId", out internalId) ||
!requestVariables.TryGetValue("interval", out string? intervalStr) ||
_parent.GetConnector(connectorName) is null || _parent.GetConnector(connectorName) is null ||
_parent.GetPublicationById(internalId) is null || _parent.GetPublicationById(internalId) is null)
!TimeSpan.TryParse(intervalStr, out TimeSpan interval))
{ {
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
break; break;
@ -373,7 +367,7 @@ public class Server : GlobalBase
case "LibraryManagers": case "LibraryManagers":
if (!requestVariables.TryGetValue("libraryManager", out string? libraryManagerStr) || if (!requestVariables.TryGetValue("libraryManager", out string? libraryManagerStr) ||
!Enum.TryParse(libraryManagerStr, !Enum.TryParse(libraryManagerStr,
out LibraryConnectors.LibraryConnector.LibraryType libraryManagerType)) out LibraryConnector.LibraryType libraryManagerType))
{ {
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
break; break;