public async void Basic_Http_Get_Body_Is_Retrieved() { var subject = new TestObject(); var manager = new RuntimeManager(new ManualManagerSettings { ScriptTimeoutMilliSeconds = 0 }); HttpPackageHelpers.RegisterPackage(manager.RequireManager); manager.AddConsoleReference = true; var options = new ExecutionOptions(); options.HostObjects.Add(new HostObject { Name = "subject", Target = subject }); var scriptAwaiter = new ScriptAwaiter(); options.HostObjects.Add(new HostObject { Name = "scriptAwaiter", Target = scriptAwaiter }); var code = "var request = require('request');" + "request({url: 'http://api.icndb.com/jokes/random/1', json: true}," + " function (error, response, body) {subject.Response = response; subject.Body = body; subject.Joke = body.value[0].joke; scriptAwaiter.Callback();});"; await manager.ExecuteAsync("testScript", code, options); await scriptAwaiter.T; subject.Joke.ShouldNotBeNull(); }
public async Task Basic_Http_Get_Headers_Are_Retrieved() { var subject = new TestObject(); var manager = new RuntimeManager(new ManualManagerSettings { ScriptTimeoutMilliSeconds = 0 }); HttpPackageHelpers.RegisterPackage(manager.RequireManager); manager.AddConsoleReference = true; var options = new ExecutionOptions(); options.HostObjects.Add(new HostObject { Name = "subject", Target = subject }); var scriptAwaiter = new ScriptAwaiter(); options.HostObjects.Add(new HostObject { Name = "scriptAwaiter", Target = scriptAwaiter }); options.HostObjects.Add(new HostObject { Name = "cookieA", Target = new CookieContainer() }); var code = "var requestFactory = require('javascript_request_factory');" + "var http = requestFactory.create({url:'http://www.baidu.com/'});" + "var data = encodeURIComponent('errorMsg=&to=http%253A%252F%252Fwww.zhonghuasuan.com%252F&token=5b9c1a3c6f2db8c737b7788ac560a397&account=111111&password=111111');" + "Console.WriteLine('aaaa111'); var aa = http.getString({timeout:10,headers:{token:'aaaaaatoken'},cookieContainer:cookieA});Console.WriteLine(aa);"; await manager.ExecuteAsync("testScript", code, options); }
/// <summary> /// 注册所有需要使用的包 /// </summary> /// <param name="RequireManager"></param> /// <param name="options"></param> public static void Register(RequireManager RequireManager, TabrisOptions options = null) { //tabris RequireManager.RegisterPackage(new TabrisPackage()); //sql SqlPackageHelpers.RegisterPackage(RequireManager, options?.DbExecutor ?? new AntOrmDbExecutor()); //http HttpPackageHelpers.RegisterPackage(RequireManager); //log LogPackageHelpers.RegisterPackage(RequireManager, options?.LogExecutor); }