public static List <WebHook> GetWebHookForAction(this IMongoDatabase db, String action) { var hooks = db.GetCollection <BsonDocument>("Hooks"); var builder = Builders <BsonDocument> .Filter; var filter = builder.Eq("action", action); var toReturn = new List <WebHook> (); var documents = hooks.Find(filter).ToList(); foreach (var doc in documents) { toReturn.Add(WebHook.FromJson(doc.ToJson(new JsonWriterSettings { OutputMode = JsonOutputMode.Strict }))); } return(toReturn); }
void HandleWebHookPrefix(HttpListenerRequest request, HttpListenerResponse response) { string jsonEntity = readEntity(request); WebHook webHook = WebHook.FromJson(JObject.Parse(jsonEntity)); string method = request.HttpMethod; switch (method.ToLower()) { case "post": SaveWebhook(webHook, response); break; case "delete": RemoveWebhook(webHook, response); break; default: SendUnsupportedMethod(response); break; } }