找回密码
 注册
查看: 294|回复: 0

R语言 Rook包 Middleware-class()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-9-27 22:57:15 | 显示全部楼层 |阅读模式
Middleware-class(Rook)
Middleware-class()所属R语言包:Rook

                                        Class Middleware
                                         一流中间件

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

An abstract class for building Rook Middleware applications. Middleware applications either handle the incoming web request or hand off the request to the Rook app defined in the field of the same name.
一个抽象类鲁克中间件应用。 Middleware应用程序的乌鸦领域相同的名称定义的应用程序将请求处理传入的Web请求或手。


方法----------Methods----------




set_app(app):  app is a Rook application that will handle the request if this Middleware app does not.
set_app(app):app是Rook应用程序将处理该请求,如果该中间件的应用程序不会。


参见----------See Also----------

The following classes implement Middleware:  Brewery and Static.
下面的类实现中间件:Brewery和Static。


实例----------Examples----------


# Middleware applications are typically instantiated in the argument list of[中间件的应用程序通常是在参数列表中的实例化]
# Builder$new(), but here is stand-alone example.[生成器$新的(),但在这里,是独立的例子。]
# []
# Once your browser loads the app, you will see something like this in[一旦你的浏览器加载的应用程序,你会看到这样的事情在]
# your location bar: http://127.0.0.1:28649/custom/middle. Add '/foo'[您的位置的条形:http://127.0.0.1:28649/custom/middle。添加“/ foo的]
# onto the end of that and reload.[到年底,并重新装入。]

setRefClass(
    'FooBar',
    contains = 'Middleware',
    methods = list(
        initialize = function(...){
            # app to defer to.[应用程序推迟。]
            callSuper(app=App$new(function(env){
                res <- Response$new()
                res$write("<h1>I'm the deferred app.</h1>")
                res$finish()
            }))
        },
        call = function(env){
            req <- Request$new(env)
            res <- Response$new()
            if (length(grep('foo',req$path_info()))){
                res$write("<h1>I'm the middleware app.</h1>")        
                return(res$finish())
            } else {
                app$call(env)
            }
        }
    )
)
s <- Rhttpd$new()
## Not run: [#不运行:]
s$start(quiet=TRUE)

## End(Not run)[#(不执行)]
s$add(name="middle",app=getRefClass('FooBar')$new())
## Not run: [#不运行:]
s$browse('middle') # Opens a browser window to the app.[打开一个浏览器窗口的应用程序。]

## End(Not run)[#(不执行)]
s$remove(all=TRUE)
rm(s)

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-25 17:57 , Processed in 0.024525 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表