Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        /// <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);
        }