public HttpResponseMessage ReportUsage(Usage data) { if (data == null) { throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent("No usage data provided") }); } try { data.IPAddress = RequestHelpers.GetClientIpAddress(Request); _context.AddUsage(data); } catch (Exception e) { throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(e.Message) }); } return(new HttpResponseMessage(HttpStatusCode.OK)); }