예제 #1
0
        public static IDisposable OverrideClientGenerator(SpecialOmniboxGenerator <ReactSpecialOmniboxAction> generator)
        {
            var old = ClientGeneratorVariable.Value;

            ClientGeneratorVariable.Value = generator;
            return(new Disposable(() => ClientGeneratorVariable.Value = old));
        }
예제 #2
0
    public List <OmniboxResult> OmniboxResults([Required, FromBody] OmniboxRequest request)
    {
        OmniboxPermission.ViewOmnibox.AssertAuthorized();

        var generator = new SpecialOmniboxGenerator <ReactSpecialOmniboxAction>()
        {
            Actions = request.specialActions.ToDictionary(a => a, a => new ReactSpecialOmniboxAction {
                Key = a
            })
        };

        using (ReactSpecialOmniboxGenerator.OverrideClientGenerator(generator))
        {
            return(OmniboxParser.Results(request.query, new System.Threading.CancellationToken()));
        }
    }