public static IDisposable OverrideClientGenerator(SpecialOmniboxGenerator <ReactSpecialOmniboxAction> generator) { var old = ClientGeneratorVariable.Value; ClientGeneratorVariable.Value = generator; return(new Disposable(() => ClientGeneratorVariable.Value = old)); }
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())); } }