Compare commits

...

2 Commits

Author SHA1 Message Date
37266ea095 https://github.com/C9Glax/tranga-website/issues/19
Add exception handling if host doesnt exist
2023-10-30 13:48:25 +01:00
8caac538c9 https://github.com/C9Glax/tranga-website/issues/19 Send a badrequest response if not a valid libraryconnector 2023-10-30 13:39:50 +01:00
2 changed files with 19 additions and 13 deletions

View File

@ -37,12 +37,19 @@ public class Kavita : LibraryConnector
RequestUri = new Uri($"{baseUrl}/api/Account/login"), RequestUri = new Uri($"{baseUrl}/api/Account/login"),
Content = new StringContent($"{{\"username\":\"{username}\",\"password\":\"{password}\"}}", System.Text.Encoding.UTF8, "application/json") Content = new StringContent($"{{\"username\":\"{username}\",\"password\":\"{password}\"}}", System.Text.Encoding.UTF8, "application/json")
}; };
try
{
HttpResponseMessage response = client.Send(requestMessage); HttpResponseMessage response = client.Send(requestMessage);
JsonObject? result = JsonSerializer.Deserialize<JsonObject>(response.Content.ReadAsStream()); JsonObject? result = JsonSerializer.Deserialize<JsonObject>(response.Content.ReadAsStream());
if (result is not null) if (result is not null)
return result["token"]!.GetValue<string>(); return result["token"]!.GetValue<string>();
else throw new Exception("Did not receive token."); }
catch (HttpRequestException e)
{
Console.WriteLine($"Unable to retrieve token:\n\r{e}");
}
Console.WriteLine("Kavita: Did not receive token.");
throw new Exception("Kavita: Did not receive token.");
} }
public override void UpdateLibrary() public override void UpdateLibrary()

View File

@ -401,8 +401,7 @@ public class Server : GlobalBase
break; break;
case "LibraryConnectors/Update": case "LibraryConnectors/Update":
if (!requestVariables.TryGetValue("libraryConnector", out string? libraryConnectorStr) || if (!requestVariables.TryGetValue("libraryConnector", out string? libraryConnectorStr) ||
!Enum.TryParse(libraryConnectorStr, !Enum.TryParse(libraryConnectorStr, out LibraryConnector.LibraryType libraryConnectorType))
out LibraryConnector.LibraryType libraryConnectorType))
{ {
SendResponse(HttpStatusCode.BadRequest, response); SendResponse(HttpStatusCode.BadRequest, response);
break; break;
@ -419,10 +418,7 @@ public class Server : GlobalBase
} }
AddLibraryConnector(new Kavita(this, kavitaUrl, kavitaUsername, kavitaPassword)); AddLibraryConnector(new Kavita(this, kavitaUrl, kavitaUsername, kavitaPassword));
SendResponse(HttpStatusCode.Accepted, response); SendResponse(HttpStatusCode.Accepted, response);
break; }else if (libraryConnectorType is LibraryConnector.LibraryType.Komga)
}
if (libraryConnectorType is LibraryConnector.LibraryType.Komga)
{ {
if (!requestVariables.TryGetValue("komgaUrl", out string? komgaUrl) || if (!requestVariables.TryGetValue("komgaUrl", out string? komgaUrl) ||
!requestVariables.TryGetValue("komgaAuth", out string? komgaAuth)) !requestVariables.TryGetValue("komgaAuth", out string? komgaAuth))
@ -432,7 +428,10 @@ public class Server : GlobalBase
} }
AddLibraryConnector(new Komga(this, komgaUrl, komgaAuth)); AddLibraryConnector(new Komga(this, komgaUrl, komgaAuth));
SendResponse(HttpStatusCode.Accepted, response); SendResponse(HttpStatusCode.Accepted, response);
break; }
else
{
SendResponse(HttpStatusCode.BadRequest, response);
} }
break; break;
case "LogMessages": case "LogMessages":