示例#1
0
        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);
        }
示例#2
0
        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;
            }
        }