Esempio n. 1
0
        async Task Invoke(IOwinContext context)
        {
            if (_state == null)
            {
                _state = new State(GetBaseAddress(context));
                await _state.Load(@"c:\data\test\nuspecs", CancellationToken.None);
            }

            try
            {
                switch (context.Request.Path.Value)
                {
                    case "/":
                        context.Response.StatusCode = (int)HttpStatusCode.OK;
                        await context.Response.WriteAsync("READY");
                        break;
                    case "/debug":
                        await Debug(context);
                        break;
                    // basically
                    case "/v3/query":
                        await ServiceEndpoints.V3SearchAsync(context, _state.SearcherManager);
                        break;
                    case "/v3/autocomplete":
                        await ServiceEndpoints.AutoCompleteAsync(context, _state.SearcherManager);
                        break;
                    default:
                        await Lookup(context);
                        break;
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }