public override void Execute(string src, Uri uri, HttpListenerContext p, WebConfig wc, StreamWriter sw) { var bcp = new CSharpCodeProvider(); var ass = AssemblyInitializer.Init(bcp, src, sw, ini); var page = AssemblyPageResolver.Resolve(ass); page.Response = sw; uri = new Uri("http://localhost/" + Path.GetFileName(uri.LocalPath)); page.Info = new HttpInfo(Get.Create(uri), uri, wc.DataDir, p); page.IncludePage = new Action <string>(f => { new Language().Execute(File.ReadAllText(wc.DataDir + f), uri, p, wc, sw); }); page.Redirect = new Action <string>(f => { p.Response.Redirect(f); }); page.Isset = new Predicate <object>(b => { return(StandardScriptApi.isset(b)); }); page.Get = page.Info.Get; page.OnLoad(); }
public override void Execute(string src, Uri uri, HttpListenerContext p, WebConfig wc, StreamWriter sw) { var eng = IronScheme.RuntimeExtensions.ScriptEngine.CompileCode(src); var mod = eng.MakeModule("web"); var sapi = new StandardScriptApi(uri, p, sw); foreach (var v in sapi.Variables) { mod.SetVariable(v.Key, v.Value); } eng.Execute(mod); }
public override void Execute(string src, Uri uri, HttpListenerContext p, WebConfig wc, StreamWriter sw) { Microsoft.Scripting.Hosting.ScriptEngine py = IronRuby.Ruby.CreateEngine(); Microsoft.Scripting.Hosting.ScriptScope s = py.CreateScope(); var sapi = new StandardScriptApi(uri, p, sw); foreach (var item in sapi.Variables) { s.SetVariable(item.Key, item.Value); } py.Execute(src, s); }
public override void Execute(string src, Uri uri, HttpListenerContext p, WebConfig wc, StreamWriter sw) { var en = new ECLang.Engine(); var sapi = new StandardScriptApi(uri, p, sw); foreach (var item in sapi.Functions) { en.AddItem(item.Key, item.Value); } foreach (var item in sapi.Variables) { en.AddItem(item.Key, item.Value); } foreach (var item in sapi.Types) { en.AddItem(item.Key, item.Value); } en.Execute(src); }
public override void Execute(string src, Uri uri, HttpListenerContext p, WebConfig wc, StreamWriter sw) { VBScript.VBScriptEngine engine = new VBScriptEngine(); var sapi = new StandardScriptApi(uri, p, sw); engine.Add("require", new Action <string>(pa => engine.Execute(File.ReadAllText(pa)))); engine.Add("eval", new Func <string, object>(pa => engine.Evaluate(pa))); foreach (var f in sapi.Functions) { engine.Add(f.Key, f.Value); } foreach (var f in sapi.Variables) { engine.Add(f.Key, f.Value); } foreach (var f in sapi.Types) { engine.Add(f.Key, f.Value); } }