Browse Source

Fixes for pages not responding to Curl and process timeouts

main
DarkFeather 5 years ago
parent
commit
d78809e410
2 changed files with 8 additions and 2 deletions
  1. +7
    -1
      CSharp/ExecuteCommand.csharp
  2. +1
    -1
      CSharp/WebPageAPI.csharp

+ 7
- 1
CSharp/ExecuteCommand.csharp View File

@ -7,6 +7,9 @@ using System.Collections.Generic;
namespace AniNIX.Shared {
public static class ExecuteCommand {
// Allow anyone using this class to modify the timeout at will.
public static int TimeOut = 5000;
/// <summary>
/// This method allows a CSharp app to execute a command on the OS.
@ -39,7 +42,10 @@ namespace AniNIX.Shared {
//Add input and read output.
proc.StandardInput.Write(input);
proc.StandardInput.Close();
proc.WaitForExit();
proc.WaitForExit(TimeOut);
if (!proc.HasExited) {
proc.Kill();
}
if (proc.ExitCode != 0) {
throw new Exception(String.Format("Failed to exit command with return code {0}",proc.ExitCode));
}


+ 1
- 1
CSharp/WebPageAPI.csharp View File

@ -20,7 +20,7 @@ namespace AniNIX.Shared {
/// <param name="pageURL"> the webpage whose title we should get</param>
/// <returns> the webpage source </returns>
public static string GetPage(String pageURL) {
return ExecuteCommand.Run(String.Format("/usr/bin/curl -s {0}",pageURL));
return ExecuteCommand.Run(String.Format("/usr/bin/curl -s --max-time 5 {0}",pageURL));
}
/// <summary>


Loading…
Cancel
Save