Beispiel #1
0
        async void HandleNewConnection(long sessionId, TcpClient client)
        {
            HttpSession newSession;

            try
            {
                //TODO: configurable
                client.NoDelay           = true;
                client.SendBufferSize    = 8192;
                client.ReceiveBufferSize = 8192;

                newSession = await CreateSession(sessionId, client).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                logger.Warn("Error creating session - {0}", e);
#if NETSTANDARD
                client.Dispose();
#endif
#if NET451
                client.Close();
#endif
                return;
            }

            sessionRate.Count(Time.CurrentTimeMillis, 1);

            TrackSession(newSession);

            await HandleSession(newSession).ConfigureAwait(false);
        }
Beispiel #2
0
        static public void saveRegistro(String text, levels logLevel)
        {
            try
            {
                switch (logLevel)
                {
                case levels.debug:
                    logger.Debug(text);
                    break;

                case levels.error:
                    logger.Error(text);
                    break;

                case levels.info:
                    logger.Info(text);
                    break;

                case levels.warning:
                    logger.Warn(text);
                    break;

                default:
                    logger.Info(text);
                    break;
                }
            }
            catch (Exception ex)
            {
                EventLog ev = new EventLog();
                ev.WriteEntry(ex.Message, EventLogEntryType.Error);
            }
        }
Beispiel #3
0
 void ReturnAndRelease(TResource resource)
 {
     try
     {
         if (IsResourceBroken(resource))
         {
             Interlocked.Decrement(ref currentPoolSize);
             logger.Warn("{0} discarded broken resource", this);
         }
         else
         {
             Interlocked.Increment(ref currentFreeCount);
             bag.Add(resource);
         }
     }
     finally
     {
         pool.Release();
     }
 }
 public static bool TryGetIfLastModifiedSince(this IHttpRequest req, out DateTime utcDate)
 {
     if (req.Headers.TryGetValue(HttpHeader.IfModifiedSince, out string value))
     {
         try
         {
             utcDate = DateTime.Parse(value).ToUniversalTime();
             return(true);
         }
         catch (FormatException e)
         {
             logger.Warn("Invalid If-Modified-Since header value:[{0}]", value);
             throw new RequestException($"Invalid If-Modified-Since:[{value}]", e, HttpStatusCode.BadRequest);
         }
     }
     else
     {
         utcDate = DateTime.UtcNow;
         return(false);
     }
 }