我有一个webapp2服务器,它有两个不同的URL指向它。在我的处理程序的调度函数中,我检查请求来自哪个主机:
library(docxtractr)
docxextr <- function(pathh = ".") {
files <- list.files(path = pathh)
for (i in files) {
filen <- sprintf("%s/%s", pathh, i)
real_world <- read_docx(filen)
docx_tbl_count(real_world) # didn't understand where this count goes?
tbls <- docx_extract_all_tbls(real_world)
a <- as.data.frame(tbls)
return(a)
}
}
在我的单元测试中,我正在启动一个本地测试应用程序并使用webapp2.Request.blank向它发出请求:
class MyHandler(webapp2.RequestHandler):
def dispatch(self):
if self.request.host == 'my url':
# Do something.
else:
# Do something else.
我想知道是否可以在此上下文中覆盖request.host以匹配我的一个网址?现在它总是作为localhost传播:80无论我尝试过什么。感谢。
答案 0 :(得分:0)
我仍然不确定我的问题是否可行但我通过扩展我的处理程序并覆盖request.host值找到了解决方法:
class TestHandler(MyHandler):
def __init__(self, *args, **kwargs):
super(TestHandler, self).__init__(*args, **kwargs)
self.request.host = 'my url'
test_app = webapp2.WSGIApplication([('/', TestHandler)])
request = webapp2.Request.blank('/')
response = request.get_response(test_app)