rinh/fekit — pull request #63 by EdwonLim (2014-11-07 11:15:55+00:00)
Title: 增加反向代理功能 及 其他修改

为 `server` 命令 增加 `-o ( opposite )` 参数，
示例： `fekit server -o qunarzz.com` 或 `fekit server -o qunarzz.com:l-qzz1.fe.dev.cn6`
意义为：是否启用反向代理，将通过指定域名访问的本地不存在的资源反向代理到线上资源。
前者从`dns`中解析出线上服务器`ip`后反向代理，后者会访问指定地址，指定 `host` 或 `ip` 均可

目的是解决，本地开发中使用 `fekit`，并在`host`中将 `qunarzz.com` 指向本机时，访问其他页面时，`js`和`css`资源访问不到的问题。

主要逻辑是，取到线上服务器的 `ip`，当页面请求资源时，如果本地不存在对应项目（说明不在开发中），会直接请求线上资源，让使用者在开发过程中，仍旧能正常访问其他页面，以及使用页面上的功能。

其他修改：

- 问题：文件不存在时，输出的路径应为`url.pathname`，不是`srcpath`。
- 问题：`path.coffee`中`ModulePath.getContentTypeList`方法中，`ModulePath.EXTTABLE[ extName ].contentType`改为`ModulePath.EXTTABLE[ extName ]?.contentType`，你懂得！
- 增加错误返回的statusCode：文件找不到直接返回404加错误信息，返回200加错误信息，太不和谐；并增加错误log输出。
- 增加Header属性：在fekit处理的请求的response的header中，增加Server属性，值为 Fekit Local 或 Fekit Remote ，前者表示是Fekit处理过的本地资源，后者表示通过Fekit反向代理的线上资源，让使用者，更好的区分请求。