public DefaultModule(IStore store) { this.store = store; Get["/"] = parameters => "Welcome to the sample NancyFX USSD app. Make a POST to / to continue"; Post["/", true] = async(_, token) => { var request = this.Bind <UssdRequest>(); return(await Ussd.Process(store, request, "Main", "Menu").ConfigureAwait(false)); }; }
public async Task <IHttpActionResult> Index(UssdRequest request) { var redisConnection = await ConnectionManager.Instance.GetRedisDbConnectionLayer().RedisConnection(); if (!redisConnection.IsConnected) { await redisConnection.ConfigureAsync(); } //intentionally skipped mongodb logging return(Ok(await Ussd.Process(new RedisStore(redisConnection), request, "Main", "Start", null, null))); }
static void TestUssd() { Ussd ussd = new Ussd(ACCESS_TOKEN); Console.WriteLine("Send ussd request:"); dynamic response = ussd .SetAddress("9065272450") .SetSenderAddress(SHORT_CODE) .SetUssdMessage("Simple USSD \n1: Hello \n2: Hello") .SetFlash(false) .SendUssdRequest() .GetDynamicResponse(); Console.WriteLine("Response: -->"); string sessionId = response["outboundUSSDMessageRequest"]["receiptRequest"]["sessionID"]; Console.WriteLine("Session ID:" + sessionId); Console.WriteLine(response); Console.WriteLine("Reply ussd request:"); try { response = ussd .SetAddress("9065272450") .SetSessionId(sessionId) .SetSenderAddress(SHORT_CODE) .SetUssdMessage("Simple USSD \n1: Foo \n1: Foo") .SetFlash(false) .ReplyUssdRequest() .GetDynamicResponse(); Console.WriteLine("Response: -->"); Console.WriteLine(response); } catch (WebException e) { Console.WriteLine(new System.IO.StreamReader(e.Response.GetResponseStream()).ReadToEnd()); } }
public async Task <IHttpActionResult> Index(UssdRequest request) { //todo: properly configure redis before proceeding.... return(Ok(await Ussd.Process(new RedisStore(), request, "Main", "Start"))); }
public async Task <IHttpActionResult> Index(UssdRequest request) { return(Ok(await Ussd.Process(new RedisStore(), request, "Main", "Start", null, new MongoDbLoggingStore("mongodb://localhost", "demoussd")))); }
public async Task <IHttpActionResult> Index(UssdRequest request) { return(Ok(await Ussd.Process(new RedisStore(), request, "Main", "Menu"))); }