加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 有一种简单的方法可以使用ngMockE2E将HTTP请求列入

发布时间:2020-12-17 07:34:23 所属栏目:安全 来源:网络整理
导读:由于一些基础设施的变化(即服务器和VPN),有时我想在离线模式下运行我们的应用程序.我已经能够使用ngMockE2E实现这一点,但它似乎是一种全有或全无的方法,这意味着您必须从应用程序中明确设置每个HTTP请求. 有没有办法让它假设除非你已经明确设置了一个路由/ u
由于一些基础设施的变化(即服务器和VPN),有时我想在离线模式下运行我们的应用程序.我已经能够使用ngMockE2E实现这一点,但它似乎是一种全有或全无的方法,这意味着您必须从应用程序中明确设置每个HTTP请求.

有没有办法让它假设除非你已经明确设置了一个路由/ url来处理它将自动调用一个通用的passThrough()操作?

目前我这样做:

noSrvc = $location.search().hasOwnProperty 'nosrvc'

#
# templates
#
$httpBackend.whenGET /(.htm|.html)$/
.passThrough();

#
# session
#
rqst = $httpBackend.whenGET /(api/users/current)$/
if !noSrvc then rqst.passThrough() else rqst.respond {"user":{

# doing something similar for every single service call in the app... gets tedious after about 3-4

除非另有说明,否则我在这个主题上阅读的大多数内容都涉及单元测试,并没有真正解决隐含的直通问题.

这是我用于白名单的配方
app.run(function ($httpBackend) {
    // mocked requests,should come first
    $httpBackend.when('GET','mock').respond(200,{});

    // whitelisted real requests,should come last
    angular.forEach(['GET','DELETE','JSONP','HEAD','PUT','POST','PATCH'],function (method) {
        $httpBackend.when(method).passThrough();
    });
});

而且我很确定优先权在这里很重要.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读