/// <summary>
        /// Create the best stub of a request that we can using the message level and body
        /// </summary>
        /// <param name="level"></param>
        /// <param name="body"></param>
        /// <returns></returns>
        protected DataModel Create(string level, BodyModel body)
        {
            var model = new DataModel(level, body);

            model.CodeVersion = Configuration.CodeVersion;
            model.Environment = Configuration.Environment;
            model.Platform = Configuration.Platform;
            model.Language = Configuration.Language;
            model.Framework = Configuration.Framework;

            model.Timestamp = (ulong)Now();

            model.Notifier = NotifierModelBuilder.CreateFromAssemblyInfo();

            model.Request = new RequestModel();
            model.Server = new ServerModel();
            model.Person = new PersonModel();

            model.Server.GitSha = Configuration.GitSha;

            return model;
        }
 public PayloadModel(string accessToken, DataModel data)
 {
     AccessToken = accessToken;
     Data = data;
 }
 public Task Send(DataModel data, object userParam)
 {
     var payload = new PayloadModel(Configuration.AccessToken, data);
     return HttpPost(payload, userParam);
 }