public override bool Equals(object obj) { IUSSDHandler compareUSSDHandler = obj as IUSSDHandler; return(compareUSSDHandler.HandlerID.Equals(this.handlerID)); }
public MutuelSmartUSSDProcessor(USSDSession session, IUSSDHandler handler) : base(session, handler) { }
protected void OnHttpRequestReceived(IAsyncResult asyncResult) { if (listenerState != ListenerStates.Running) { return; } HttpListener httpListener = (HttpListener)asyncResult.AsyncState; //Console.WriteLine(DateTime.Now.ToString() + " Request received"); if (httpListener.IsListening) { HttpListenerResponse response = null; try { // Call EndGetContext to complete the asynchronous operation. HttpListenerContext context = httpListener.EndGetContext(asyncResult); HttpListenerRequest request = context.Request; response = context.Response; String requestData = GetRequestData(request); if (requestData.Length != 0) { USSDHandlerRequestType.RequestTypes requestType = USSDHandlerRequestType.GetRequestType(request.HttpMethod); IUSSDHandler ussdHandler = USSDHandlerFactory.GetHandler(mobileNetwork, requestData, requestType); Boolean isTimeout = false; Boolean isInvalid = false; ussdHandler.Initialize(requestData, requestType, out isTimeout, out isInvalid); if (!isTimeout) { LogManager.LogStatus("Handler {0} found for request", ussdHandler.HandlerID); String responseData = ussdHandler.ProcessRequest(requestData); WriteResponse(responseData, response); } else { LogManager.LogStatus("Timout request for handler {0} received", ussdHandler.HandlerID); } } else { WriteResponse("Invalid/Empty Request", response); } } catch (Exception ex) { LogManager.LogError(ex); if (response != null) { WriteResponse(ex.Message, response); } } finally { httpListener.BeginGetContext(new AsyncCallback(OnHttpRequestReceived), httpListener); } } }
public SubscriptionUSSDProcessor(USSDSession session, IUSSDHandler handler) : base(session, handler) { }
public GenericCampaign(USSDSession session, IUSSDHandler handler) : base(session, handler) { }