﻿id	summary	reporter	owner	description	type	status	priority	component	resolution	keywords	cc
122	GetLog function of WebAPI results in ArgumentException	theit8514	Christian Illy	"I'm unable to view the logs on the web frontend due to an exception in GetLog. The issue stems from LogBuffer.GetRange. After review of the code on svn, the GetLog handler is hard coded to 50 for _count but the MAX_ENTRIES on the LogBuffer is set to 30. Since LogBuffer.GetRange does not check upper bounds, GetLog can never retrieve the logs.

Options:
1. Update GetLog.HandleRequest to utilize LogBuffer.MAX_ENTRIES (make public)
2. Update LogBuffer.GetRange to check if we can pull _count items based on _start and listOffset, and reset _count to a sane value

{{{
2015-12-27T03:20:22 97520.419 ERR Error in ApiHandler.HandleRequest(): Handler getlog threw an exception:
2015-12-27T03:20:22 97520.420 EXC index and count exceed length of list
ArgumentException: index and count exceed length of list
  at System.Collections.Generic.List`1[AllocsFixes.NetConnections.Servers.Web.LogBuffer+LogEntry].CheckRange (Int32 idx, Int32 count) [0x00000] in <filename unknown>:0
  at System.Collections.Generic.List`1[AllocsFixes.NetConnections.Servers.Web.LogBuffer+LogEntry].GetRange (Int32 index, Int32 count) [0x00000] in <filename unknown>:0
  at AllocsFixes.NetConnections.Servers.Web.LogBuffer.GetRange (System.Int32& _start, Int32 _count, System.Int32& _end) [0x00000] in <filename unknown>:0
  at AllocsFixes.NetConnections.Servers.Web.API.GetLog.HandleRequest (System.Net.HttpListenerRequest req, System.Net.HttpListenerResponse resp, AllocsFixes.NetConnections.Servers.Web.WebConnection user, Int32 permissionLevel)[0x00000] in <filename unknown>:0
  at AllocsFixes.NetConnections.Servers.Web.Handlers.ApiHandler.HandleRequest (System.Net.HttpListenerRequest req, System.Net.HttpListenerResponse resp, AllocsFixes.NetConnections.Servers.Web.WebConnection user, Int32 permissionLevel) [0x00000] in <filename unknown>:0
}}}"	defect	closed	minor	Server fixes	fixed	GetLog ArgumentException	
