Fixes for pages not responding to Curl and process timeouts
This commit is contained in:
parent
ffb3bf8f73
commit
d78809e410
@ -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));
|
||||
}
|
||||
|
@ -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…
Reference in New Issue
Block a user