Ejemplo n.º 1
0
        internal static string FromHttpBaseLog(IHttpBaseLog log, LogFormatEnum inputType)
        {
            switch (inputType)
            {
            case LogFormatEnum.MinhaCDN:
                return(new MinhaCDN(log).Content);

            case LogFormatEnum.Agora:
                return(new Agora(log).Content);

            default:
                throw new NotImplementedException();
            }
        }
Ejemplo n.º 2
0
        public string FromHttpBaseLog(IHttpBaseLog httpBaseLog)
        {
            var metadata = string.Format(@"# Version: 1.0
# Date: {0} {1}
# Fields: provider http-method status-code uri-path time-taken response-size cache-status
", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString());

            var body = string.Empty;

            foreach (var log in httpBaseLog.LogEntries)
            {
                var timeTaken = decimal.Parse(log.TimeTaken.Replace('.', ','));
                log.TimeTaken   = Math.Round(timeTaken, 0).ToString();
                log.CacheStatus = log.CacheStatus == "INVALIDATE" ? "REFRESH_HIT" : log.CacheStatus;

                body += string.Format("\"{0}\" {1} {2} {3} {4} {5} {6}\r\n",
                                      log.Provider, log.HttpMethod, log.StatusCode, log.URIPath, log.TimeTaken, log.ResponseSize, log.CacheStatus);
            }

            return(metadata + body);
        }
Ejemplo n.º 3
0
 public string FromHttpBaseLog(IHttpBaseLog log)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 4
0
 public MinhaCDN(IHttpBaseLog httpBaseLog)
 {
     this.Content = FromHttpBaseLog(httpBaseLog);
 }
Ejemplo n.º 5
0
 public Agora(IHttpBaseLog httpBaseLog)
 {
     this.Content = FromHttpBaseLog(httpBaseLog);
 }