123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #if !BESTHTTP_DISABLE_SOCKETIO
- using System;
- namespace BestHTTP.SocketIO.Events
- {
- /// <summary>
- /// Helper class to provide functions to an easy Enum->string conversation of the transport and SocketIO evenet types.
- /// </summary>
- public static class EventNames
- {
- public const string Connect = "connect";
- public const string Disconnect = "disconnect";
- public const string Event = "event";
- public const string Ack = "ack";
- public const string Error = "error";
- public const string BinaryEvent = "binaryevent";
- public const string BinaryAck = "binaryack";
- private static string[] SocketIONames = new string[] { "unknown", "connect", "disconnect", "event", "ack", "error", "binaryevent", "binaryack" };
- private static string[] TransportNames = new string[] { "unknown", "open", "close", "ping", "pong", "message", "upgrade", "noop" };
- private static string[] BlacklistedEvents = new string[] { "connect", "connect_error", "connect_timeout", "disconnect", "error", "reconnect",
- "reconnect_attempt", "reconnect_failed", "reconnect_error", "reconnecting" };
- public static string GetNameFor(SocketIOEventTypes type)
- {
- return SocketIONames[(int)type + 1];
- }
- public static string GetNameFor(TransportEventTypes transEvent)
- {
- return TransportNames[(int)transEvent + 1];
- }
- /// <summary>
- /// Checks an event name whether it's blacklisted or not.
- /// </summary>
- public static bool IsBlacklisted(string eventName)
- {
- for (int i = 0; i < BlacklistedEvents.Length; ++i)
- if (string.Compare(BlacklistedEvents[i], eventName, StringComparison.OrdinalIgnoreCase) == 0)
- return true;
- return false;
- }
- }
- }
- #endif
|