private async Task RunInvokeItem(InvokeContext context, int index) { var item = context.InvokeItems[index]; context.LogTraceInfo("Start invoke: " + item.Request.Method + " " + item.Request.Url); Engine engine = null; if (!string.IsNullOrEmpty(item.Script)) { engine = new Engine(); engine.SetValue("_context", context); engine.SetValue("_index", index); engine.SetValue("logger", new JSLogger(context)); engine.Execute("function preprocess(context, index, item) { }\r\n function postprocess(context, index, item) { }"); engine.Execute(item.Script); engine.Execute("preprocess(_context, _index, _context.InvokeItems[_index]);"); } await SendInvoke(context, item); if (!string.IsNullOrEmpty(item.Script)) { engine.Execute("postprocess(_context, _index, _context.InvokeItems[_index]);"); } context.LogTraceInfo("End invoke: " + item.Response.StatusCode + " " + item.Request.Method + " " + item.Request.Url); }
public void Info(string s) { _context.LogTraceInfo(s); }