Merge pull request #77 from Spmoolman/master
Added check to see if the request is empty
This commit is contained in:
commit
714482d903
|
@ -61,28 +61,41 @@ namespace AsterNET.FastAGI
|
||||||
var reader = new AGIReader(socket);
|
var reader = new AGIReader(socket);
|
||||||
var writer = new AGIWriter(socket);
|
var writer = new AGIWriter(socket);
|
||||||
AGIRequest request = reader.ReadRequest();
|
AGIRequest request = reader.ReadRequest();
|
||||||
var channel = new AGIChannel(writer, reader, _SC511_CAUSES_EXCEPTION, _SCHANGUP_CAUSES_EXCEPTION);
|
|
||||||
AGIScript script = mappingStrategy.DetermineScript(request);
|
|
||||||
Thread.SetData(_channel, channel);
|
|
||||||
|
|
||||||
if (script != null)
|
//Added check for when the request is empty
|
||||||
|
//eg. telnet to the service
|
||||||
|
if (request.Request.Count > 0)
|
||||||
{
|
{
|
||||||
#if LOGGER
|
var channel = new AGIChannel(writer, reader, _SC511_CAUSES_EXCEPTION, _SCHANGUP_CAUSES_EXCEPTION);
|
||||||
logger.Info("Begin AGIScript " + script.GetType().FullName + " on " + Thread.CurrentThread.Name);
|
AGIScript script = mappingStrategy.DetermineScript(request);
|
||||||
#endif
|
Thread.SetData(_channel, channel);
|
||||||
script.Service(request, channel);
|
|
||||||
#if LOGGER
|
if (script != null)
|
||||||
logger.Info("End AGIScript " + script.GetType().FullName + " on " + Thread.CurrentThread.Name);
|
{
|
||||||
#endif
|
#if LOGGER
|
||||||
|
logger.Info("Begin AGIScript " + script.GetType().FullName + " on " + Thread.CurrentThread.Name);
|
||||||
|
#endif
|
||||||
|
script.Service(request, channel);
|
||||||
|
#if LOGGER
|
||||||
|
logger.Info("End AGIScript " + script.GetType().FullName + " on " + Thread.CurrentThread.Name);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var error = "No script configured for URL '" + request.RequestURL + "' (script '" + request.Script +
|
||||||
|
"')";
|
||||||
|
channel.SendCommand(new VerboseCommand(error, 1));
|
||||||
|
#if LOGGER
|
||||||
|
logger.Error(error);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var error = "No script configured for URL '" + request.RequestURL + "' (script '" + request.Script +
|
var error = "A connection was made with no requests";
|
||||||
"')";
|
#if LOGGER
|
||||||
channel.SendCommand(new VerboseCommand(error, 1));
|
logger.Error(error);
|
||||||
#if LOGGER
|
#endif
|
||||||
logger.Error(error);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (AGIHangupException)
|
catch (AGIHangupException)
|
||||||
|
@ -93,19 +106,19 @@ namespace AsterNET.FastAGI
|
||||||
}
|
}
|
||||||
catch (AGIException ex)
|
catch (AGIException ex)
|
||||||
{
|
{
|
||||||
#if LOGGER
|
#if LOGGER
|
||||||
logger.Error("AGIException while handling request", ex);
|
logger.Error("AGIException while handling request", ex);
|
||||||
#else
|
#else
|
||||||
throw ex;
|
throw ex;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
#if LOGGER
|
#if LOGGER
|
||||||
logger.Error("Unexpected Exception while handling request", ex);
|
logger.Error("Unexpected Exception while handling request", ex);
|
||||||
#else
|
#else
|
||||||
throw ex;
|
throw ex;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
Thread.SetData(_channel, null);
|
Thread.SetData(_channel, null);
|
||||||
|
@ -113,14 +126,14 @@ namespace AsterNET.FastAGI
|
||||||
{
|
{
|
||||||
socket.Close();
|
socket.Close();
|
||||||
}
|
}
|
||||||
#if LOGGER
|
#if LOGGER
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
{
|
{
|
||||||
logger.Error("Error on close socket", ex);
|
logger.Error("Error on close socket", ex);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
catch { }
|
catch { }
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue