framework4js
Version:
Framework-for-js is a better Javascript's framework
95 lines (84 loc) • 4.54 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _ServiceProvider2 = _interopRequireDefault(require("./ServiceProvider"));
var _HttpService = _interopRequireDefault(require("../services/HttpService"));
var _Exception = _interopRequireDefault(require("../spanners/Exception"));
var _Lib = _interopRequireDefault(require("../spanners/Lib"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
/**
* Class HttpProvider
*/
var HttpProvider = /*#__PURE__*/function (_ServiceProvider) {
(0, _inherits2["default"])(HttpProvider, _ServiceProvider);
var _super = _createSuper(HttpProvider);
function HttpProvider() {
(0, _classCallCheck2["default"])(this, HttpProvider);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(HttpProvider, [{
key: "register",
value: function register() {
var _this = this;
// Http adapter , Default is AxiosAdapter
var HTTP_ADAPTER = this.app.getAppConfig('HTTP_CONFIG')['HTTP_ADAPTER'];
// Http lib , Default is Axios.js
var HTTP_LIB = this.app.getAppConfig('HTTP_CONFIG')['HTTP_LIB'];
// Http api Api配置
var HTTP_API = this.app.getAppConfig('HTTP_CONFIG')['HTTP_API'];
// Http host
// Maybe Is Function
var HTTP_HOST = _Lib["default"].isFunction(this.app.getAppConfig('HTTP_CONFIG')['HTTP_HOST']) ? this.app.getAppConfig('HTTP_CONFIG')['HTTP_HOST']() : this.app.getAppConfig('HTTP_CONFIG')['HTTP_HOST'];
// Use RESTful , Default is True
var IS_RESTFUL = this.app.getAppConfig('HTTP_CONFIG')['IS_RESTFUL'];
// Content-type , Default is REQUEST_PAYLOAD
var CONTENT_TYPE = this.app.getAppConfig('HTTP_CONFIG')['CONTENT_TYPE'];
// Data carrying 数据携带
var DATA_CARRYING = this.app.getAppConfig('HTTP_CONFIG')['DATA_CARRYING'];
if (HTTP_ADAPTER && HTTP_LIB) {
// Bind Axios
this.app.bindAdapter(HTTP_ADAPTER, HTTP_LIB);
} else {
// Error
throw new _Exception["default"]('Error', 'Bind http adapter error');
}
// Http Adapter 适配器
var HTTP_ADAPTER_ = this.app.getAdapter(HTTP_ADAPTER);
// Http Request Middleware 请求中间件
var REQUEST_MIDDLEWARE = this.app.getAppConfig('HTTP_CONFIG')['REQUEST_MIDDLEWARE'];
// Http Response Middleware 响应中间件
var RESPONSE_MIDDLEWARE = this.app.getAppConfig('HTTP_CONFIG')['RESPONSE_MIDDLEWARE'];
// Singleton register
this.app.singleton('$request', function () {
// Http service
return new _HttpService["default"](_this.app, {
HTTP_ADAPTER_: HTTP_ADAPTER_,
HTTP_API: HTTP_API,
HTTP_HOST: HTTP_HOST,
IS_RESTFUL: IS_RESTFUL,
CONTENT_TYPE: CONTENT_TYPE,
DATA_CARRYING: DATA_CARRYING,
REQUEST_MIDDLEWARE: REQUEST_MIDDLEWARE,
RESPONSE_MIDDLEWARE: RESPONSE_MIDDLEWARE
});
// return httpCreate;
});
}
}, {
key: "boot",
value: function boot() {
console.log('HttpProvider is register');
}
}]);
return HttpProvider;
}(_ServiceProvider2["default"]);
exports["default"] = HttpProvider;