public void Info(HttpListenerContext context) { try { string userName = context.Request.Headers.Get("owner"); var user = userDao.Get(userName); if (user != null) { var proj = projectDao.GetOrCreateProject(context.Request.Headers.Get("project"), user); string commitName = context.Request.Headers.Get("commitName"); if (!commitDao.IsUniqueCommit(commitName, proj)) { throw new Exception("Error. Commit name must be unique"); } var commit = new Commit { Name = commitName, Project = proj, ParentCommit = commitDao.Get(context.Request.Headers.Get("parent"), proj), Comment = context.Request.Headers.Get("comment") }; commitDao.Save(commit); context.Response.StatusCode = 200; context.Response.StatusDescription = "Commit was added"; context.Response.Headers.Add("commitId", commit.Id.ToString()); } else { throw new Exception("Error. Log in please"); } } catch (Exception ex) { context.Response.StatusCode = 204; context.Response.StatusDescription = ex.Message; } finally { context.Response.Close(); } }