mirror of
https://gitlab.silvrtree.co.uk/martind2000/frontexpress.git
synced 2025-02-11 11:49:17 +00:00
added PATCH http method - Fixed middleware callbacks
This commit is contained in:
parent
5b45250bf5
commit
4ab3fa2626
@ -4,7 +4,7 @@
|
|||||||
[![Code Climate](https://codeclimate.com/github/camelaissani/frontexpress/badges/gpa.svg)](https://codeclimate.com/github/camelaissani/frontexpress)
|
[![Code Climate](https://codeclimate.com/github/camelaissani/frontexpress/badges/gpa.svg)](https://codeclimate.com/github/camelaissani/frontexpress)
|
||||||
[![Coverage Status](https://coveralls.io/repos/github/camelaissani/frontexpress/badge.svg?branch=master)](https://coveralls.io/github/camelaissani/frontexpress?branch=master)
|
[![Coverage Status](https://coveralls.io/repos/github/camelaissani/frontexpress/badge.svg?branch=master)](https://coveralls.io/github/camelaissani/frontexpress?branch=master)
|
||||||
![dependencies](https://img.shields.io/gemnasium/mathiasbynens/he.svg)
|
![dependencies](https://img.shields.io/gemnasium/mathiasbynens/he.svg)
|
||||||
![Size Shield](https://img.shields.io/badge/size-2.84kb-brightgreen.svg)
|
![Size Shield](https://img.shields.io/badge/size-2.86kb-brightgreen.svg)
|
||||||
|
|
||||||
Frontexpress manages routes in browser like [ExpressJS](http://expressjs.com/) does on Node.
|
Frontexpress manages routes in browser like [ExpressJS](http://expressjs.com/) does on Node.
|
||||||
|
|
||||||
|
@ -6,9 +6,9 @@ var frontexpress = (function () {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var HTTP_METHODS = ['GET', 'POST', 'PUT', 'DELETE'];
|
var HTTP_METHODS = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'];
|
||||||
// not supported yet
|
// not supported yet
|
||||||
// HEAD', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH';
|
// HEAD', 'CONNECT', 'OPTIONS', 'TRACE';
|
||||||
|
|
||||||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
|
||||||
return typeof obj;
|
return typeof obj;
|
||||||
@ -361,8 +361,9 @@ var Middleware = function () {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// entered(request) { }
|
createClass(Middleware, [{
|
||||||
|
key: 'entered',
|
||||||
|
value: function entered(request) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoked by the app before a new ajax request is sent or before the DOM is unloaded.
|
* Invoked by the app before a new ajax request is sent or before the DOM is unloaded.
|
||||||
@ -374,8 +375,9 @@ var Middleware = function () {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// exited(request) { }
|
}, {
|
||||||
|
key: 'exited',
|
||||||
|
value: function exited(request) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoked by the app after an ajax request has responded or on DOM ready
|
* Invoked by the app after an ajax request has responded or on DOM ready
|
||||||
@ -389,8 +391,9 @@ var Middleware = function () {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// updated(request, response) { }
|
}, {
|
||||||
|
key: 'updated',
|
||||||
|
value: function updated(request, response) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoked by the app when an ajax request has failed.
|
* Invoked by the app when an ajax request has failed.
|
||||||
@ -401,8 +404,10 @@ var Middleware = function () {
|
|||||||
* @param {Object} response
|
* @param {Object} response
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
// failed(request, response) { }
|
|
||||||
|
|
||||||
|
}, {
|
||||||
|
key: 'failed',
|
||||||
|
value: function failed(request, response) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow the hand over to the next middleware object or function.
|
* Allow the hand over to the next middleware object or function.
|
||||||
@ -415,7 +420,7 @@ var Middleware = function () {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
createClass(Middleware, [{
|
}, {
|
||||||
key: 'next',
|
key: 'next',
|
||||||
value: function next() {
|
value: function next() {
|
||||||
return true;
|
return true;
|
||||||
@ -811,6 +816,7 @@ var Application = function () {
|
|||||||
|
|
||||||
var _currentRoutes = _this._routes(_request.uri, _request.method);
|
var _currentRoutes = _this._routes(_request.uri, _request.method);
|
||||||
|
|
||||||
|
_this._callMiddlewareMethod('exited');
|
||||||
_this._callMiddlewareMethod('entered', _currentRoutes, _request);
|
_this._callMiddlewareMethod('entered', _currentRoutes, _request);
|
||||||
_this._callMiddlewareMethod('updated', _currentRoutes, _request, _response);
|
_this._callMiddlewareMethod('updated', _currentRoutes, _request, _response);
|
||||||
}
|
}
|
||||||
@ -832,15 +838,12 @@ var Application = function () {
|
|||||||
_this._callMiddlewareMethod('exited');
|
_this._callMiddlewareMethod('exited');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this._callMiddlewareMethod('entered', currentRoutes, request);
|
||||||
|
|
||||||
document.onreadystatechange = function () {
|
document.onreadystatechange = function () {
|
||||||
// DOM ready state
|
// DOM ready state
|
||||||
switch (document.readyState) {
|
if (document.readyState === 'interactive') {
|
||||||
case 'loading':
|
|
||||||
_this._callMiddlewareMethod('entered', currentRoutes, request);
|
|
||||||
break;
|
|
||||||
case 'interactive':
|
|
||||||
whenPageIsInteractiveFn();
|
whenPageIsInteractiveFn();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1007,9 +1010,9 @@ var Application = function () {
|
|||||||
_headersFn = httpMethodTransformer.headers,
|
_headersFn = httpMethodTransformer.headers,
|
||||||
_dataFn = httpMethodTransformer.data;
|
_dataFn = httpMethodTransformer.data;
|
||||||
|
|
||||||
uri = _uriFn ? _uriFn({ uri: uri, headers: headers, data: data }) : uri;
|
req.uri = _uriFn ? _uriFn({ uri: uri, headers: headers, data: data }) : uri;
|
||||||
headers = _headersFn ? _headersFn({ uri: uri, headers: headers, data: data }) : headers;
|
req.headers = _headersFn ? _headersFn({ uri: uri, headers: headers, data: data }) : headers;
|
||||||
data = _dataFn ? _dataFn({ uri: uri, headers: headers, data: data }) : data;
|
req.data = _dataFn ? _dataFn({ uri: uri, headers: headers, data: data }) : data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// calls middleware exited method
|
// calls middleware exited method
|
||||||
|
2
frontexpress.min.js
vendored
2
frontexpress.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -83,6 +83,7 @@ export default class Application {
|
|||||||
const {request, response} = event.state;
|
const {request, response} = event.state;
|
||||||
const currentRoutes = this._routes(request.uri, request.method);
|
const currentRoutes = this._routes(request.uri, request.method);
|
||||||
|
|
||||||
|
this._callMiddlewareMethod('exited');
|
||||||
this._callMiddlewareMethod('entered', currentRoutes, request);
|
this._callMiddlewareMethod('entered', currentRoutes, request);
|
||||||
this._callMiddlewareMethod('updated', currentRoutes, request, response);
|
this._callMiddlewareMethod('updated', currentRoutes, request, response);
|
||||||
}
|
}
|
||||||
@ -104,21 +105,19 @@ export default class Application {
|
|||||||
this._callMiddlewareMethod('exited');
|
this._callMiddlewareMethod('exited');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this._callMiddlewareMethod('entered', currentRoutes, request);
|
||||||
|
|
||||||
document.onreadystatechange = () => {
|
document.onreadystatechange = () => {
|
||||||
// DOM ready state
|
// DOM ready state
|
||||||
switch (document.readyState) {
|
if (document.readyState === 'interactive') {
|
||||||
case 'loading':
|
|
||||||
this._callMiddlewareMethod('entered', currentRoutes, request);
|
|
||||||
break;
|
|
||||||
case 'interactive':
|
|
||||||
whenPageIsInteractiveFn();
|
whenPageIsInteractiveFn();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (['interactive', 'complete'].indexOf(document.readyState) !== -1) {
|
if (['interactive', 'complete'].indexOf(document.readyState) !== -1) {
|
||||||
whenPageIsInteractiveFn();
|
whenPageIsInteractiveFn();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -253,9 +252,9 @@ export default class Application {
|
|||||||
const httpMethodTransformer = this.get(`http ${method} transformer`);
|
const httpMethodTransformer = this.get(`http ${method} transformer`);
|
||||||
if (httpMethodTransformer) {
|
if (httpMethodTransformer) {
|
||||||
const {uri: _uriFn, headers: _headersFn, data: _dataFn } = httpMethodTransformer;
|
const {uri: _uriFn, headers: _headersFn, data: _dataFn } = httpMethodTransformer;
|
||||||
uri = _uriFn ? _uriFn({uri, headers, data}) : uri;
|
req.uri = _uriFn ? _uriFn({uri, headers, data}) : uri;
|
||||||
headers = _headersFn ? _headersFn({uri, headers, data}) : headers;
|
req.headers = _headersFn ? _headersFn({uri, headers, data}) : headers;
|
||||||
data = _dataFn ? _dataFn({uri, headers, data}) : data;
|
req.data = _dataFn ? _dataFn({uri, headers, data}) : data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// calls middleware exited method
|
// calls middleware exited method
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export default ['GET', 'POST', 'PUT', 'DELETE'];
|
export default ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'];
|
||||||
// not supported yet
|
// not supported yet
|
||||||
// HEAD', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH';
|
// HEAD', 'CONNECT', 'OPTIONS', 'TRACE';
|
||||||
|
@ -27,7 +27,7 @@ export default class Middleware {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// entered(request) { }
|
entered(request) { }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -40,7 +40,7 @@ export default class Middleware {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// exited(request) { }
|
exited(request) { }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -55,7 +55,7 @@ export default class Middleware {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// updated(request, response) { }
|
updated(request, response) { }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,7 +67,7 @@ export default class Middleware {
|
|||||||
* @param {Object} response
|
* @param {Object} response
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
// failed(request, response) { }
|
failed(request, response) { }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "frontexpress",
|
"name": "frontexpress",
|
||||||
"version": "1.0.3",
|
"version": "1.1.0",
|
||||||
"description": "Frontexpress manages routes in browser like ExpressJS on Node",
|
"description": "Frontexpress manages routes in browser like ExpressJS on Node",
|
||||||
"main": "dist/frontexpress.js",
|
"main": "dist/frontexpress.js",
|
||||||
"jsnext:main": "lib/frontexpress.js",
|
"jsnext:main": "lib/frontexpress.js",
|
||||||
|
Loading…
Reference in New Issue
Block a user