我可以直接发送请求到一个快速应用程序,而不是通过http
Can I send requests to an express app directly, rather than via http?
我有一个创建快递服务器的文件。设它为foo_serever.coffee
# foo_server.coffee
module.exports = express.createServer()
现在我想要求它,并在javascript中直接发送请求。(注意,sendRequest
不是一个真正的方法,我只是想要一个这样的)
app = require './foo_server'
app.sendRequest 'get', '/some/url.html', (status, body, headers) ->
console.log 'yay' if status is 200
有办法做到这一点吗?或者我需要生成它作为另一个进程,并通过http发送请求,这似乎更痛苦。
简短的回答:不。Express只能作为真实的HTTP服务器工作,而不是模拟的HTTP服务器。使用类似库的请求进行测试。您不需要生成一个单独的进程来发送HTTP请求。
正如Trevor所说,你可以使用Mikeal的请求库进行测试或Learnboost的Tobi,如果你想用jQuery进行"表现力服务器端功能测试"。
我知道这并不像通过快速框架工作那样优雅,但我知道Nodejs http模块允许向任何站点发出http请求,并允许您提供标头和主机等。
请参阅节点http文档了解详细信息和示例。
http://nodejs.org/docs/v0.6.5/api/http.html http.get
相关文章:
- $http.delete回调未在基本CRUD应用程序中启动
- Pinterest API应用程序处于开发模式(因此我可以使用http重定向)
- 我可以在React应用程序中使用什么作为Angular的等价物;s$http.get
- GWT应用程序中出现错误HTTP 404(“Script Tag Failure-no status available
- 从Windows8JS应用程序获取仅HTTP cookie
- 如何记录Apache Cordova应用程序中加载的iframe的http响应
- HTTP 请求后,数据未显示在 Ember 应用程序中
- 如何检查“http://”是否包含在 Angular .js 应用程序的 url 输入中
- 区分对$http的应用程序调用和 Angular 对拦截器中静态资源的请求
- 为什么 HTTP 图像没有出现在 HTTPS 应用程序中
- $http AngularJS 应用程序初始化之前的请求
- 在 MEAN Web 应用程序中,从 Express(服务器端)发送 HTTP 响应错误 403、500,未在 Angu
- 如何将 HTTP 转换为 HTTPS Facebook 应用程序
- 将代理服务器(如 node-http-proxy )用于一个端口上具有单个应用程序的节点应用程序有什么意义
- 当需要(“http”)时发生了什么.Server() 以 Express 应用程序作为其参数进行评估
- 在猫鼬查询返回集合之前,应用程序应该如何处理 http get 响应
- 混合应用程序:使用 AngularJS 更改 HTTP 用户代理标头
- 2 个 http 服务器用于 2 个服务在 Node.js Bluemix 应用程序中崩溃
- 在AngularJS应用程序中使用$http从post请求中剥离头字段
- ui.路由器不工作?这是我在plunker上的应用程序:http://plnkr.co/edit/JdRB2m0aWjl