« index

Coverage for /Users/kris/q-io/http-apps/proxy.js : 84%

25 lines | 21 run | 4 missing | 0 partial | 7 blocks | 5 blocks run | 2 blocks missing

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

  var HTTP = require("../http");
  var URL = require("url2");
  var Q = require("q");
  
  exports.Proxy = function (app) {
      if (typeof app === "string") {
          var location = app;
          app = function (request) {
              request.url = location;
              return request;
          };
      }
      return function (request, response) {
          return Q.when(app.apply(this, arguments), function (request) {
              return HTTP.request(request);
          });
      };
  };
  
  exports.ProxyTree = function (url) {
      return exports.Proxy(function (request) {
          request.url = URL.resolve(url, request.pathInfo.replace(/^\//, ""));
          return request;
      });
  };
« index | cover.io