Add PEG support to gulpfile

- Extract conf - all project specific conf outside gulpfile
- Generalize filt.js exports, add required imports
This commit is contained in:
Aldo Cortesi
2015-01-03 11:46:51 +13:00
parent f1b040e808
commit 1959aebc08
8 changed files with 670 additions and 646 deletions

View File

@@ -12,4 +12,5 @@ $(function () {
ReactRouter.run(proxyapp.routes, function (Handler) {
React.render(<Handler/>, document.body);
});
});
});

View File

@@ -1,6 +1,9 @@
var React = require("react");
var $ = require("jquery");
var Filt = require("../filt/filt.js");
var utils = require("../utils.js");
var common = require("./common.js");
var FilterDocs = React.createClass({
@@ -105,7 +108,7 @@ var FilterInput = React.createClass({
this.setState({mousefocus: false});
},
onKeyDown: function (e) {
if (e.keyCode === Key.ESC || e.keyCode === Key.ENTER) {
if (e.keyCode === utils.Key.ESC || e.keyCode === utils.Key.ENTER) {
this.blur();
// If closed using ESC/ENTER, hide the tooltip.
this.setState({mousefocus: false});

View File

@@ -1,5 +1,4 @@
/* jshint ignore:start */
Filt = (function() {
module.exports = (function() {
/*
* Generated by PEG.js 0.8.0.
*
@@ -1592,6 +1591,8 @@ Filt = (function() {
}
var flowutils = require("../flow/utils.js");
function or(first, second) {
// Add explicit function names to ease debugging.
function orFilter() {
@@ -1640,7 +1641,7 @@ Filt = (function() {
];
function assetFilter(flow) {
if (flow.response) {
var ct = ResponseUtils.getContentType(flow.response);
var ct = flowutils.ResponseUtils.getContentType(flow.response);
var i = ASSET_TYPES.length;
while (i--) {
if (ASSET_TYPES[i].test(ct)) {
@@ -1674,9 +1675,9 @@ Filt = (function() {
regex = new RegExp(regex, "i");
function headerFilter(flow){
return (
(flow.request && RequestUtils.match_header(flow.request, regex))
(flow.request && flowutils.RequestUtils.match_header(flow.request, regex))
||
(flow.response && ResponseUtils.match_header(flow.response, regex))
(flow.response && flowutils.ResponseUtils.match_header(flow.response, regex))
);
}
headerFilter.desc = "header matches " + regex;
@@ -1685,7 +1686,7 @@ Filt = (function() {
function requestHeader(regex){
regex = new RegExp(regex, "i");
function requestHeaderFilter(flow){
return (flow.request && RequestUtils.match_header(flow.request, regex));
return (flow.request && flowutils.RequestUtils.match_header(flow.request, regex));
}
requestHeaderFilter.desc = "req. header matches " + regex;
return requestHeaderFilter;
@@ -1693,7 +1694,7 @@ Filt = (function() {
function responseHeader(regex){
regex = new RegExp(regex, "i");
function responseHeaderFilter(flow){
return (flow.response && ResponseUtils.match_header(flow.response, regex));
return (flow.response && flowutils.ResponseUtils.match_header(flow.response, regex));
}
responseHeaderFilter.desc = "resp. header matches " + regex;
return responseHeaderFilter;
@@ -1719,9 +1720,9 @@ Filt = (function() {
regex = new RegExp(regex, "i");
function contentTypeFilter(flow){
return (
(flow.request && regex.test(RequestUtils.getContentType(flow.request)))
(flow.request && regex.test(flowutils.RequestUtils.getContentType(flow.request)))
||
(flow.response && regex.test(ResponseUtils.getContentType(flow.response)))
(flow.response && regex.test(flowutils.ResponseUtils.getContentType(flow.response)))
);
}
contentTypeFilter.desc = "content type matches " + regex;
@@ -1730,7 +1731,7 @@ Filt = (function() {
function requestContentType(regex){
regex = new RegExp(regex, "i");
function requestContentTypeFilter(flow){
return flow.request && regex.test(RequestUtils.getContentType(flow.request));
return flow.request && regex.test(flowutils.RequestUtils.getContentType(flow.request));
}
requestContentTypeFilter.desc = "req. content type matches " + regex;
return requestContentTypeFilter;
@@ -1738,7 +1739,7 @@ Filt = (function() {
function responseContentType(regex){
regex = new RegExp(regex, "i");
function responseContentTypeFilter(flow){
return flow.response && regex.test(ResponseUtils.getContentType(flow.response));
return flow.response && regex.test(flowutils.ResponseUtils.getContentType(flow.response));
}
responseContentTypeFilter.desc = "resp. content type matches " + regex;
return responseContentTypeFilter;
@@ -1746,7 +1747,7 @@ Filt = (function() {
function url(regex){
regex = new RegExp(regex, "i");
function urlFilter(flow){
return flow.request && regex.test(RequestUtils.pretty_url(flow.request));
return flow.request && regex.test(flowutils.RequestUtils.pretty_url(flow.request));
}
urlFilter.desc = "url matches " + regex;
return urlFilter;
@@ -1770,7 +1771,4 @@ Filt = (function() {
SyntaxError: SyntaxError,
parse: parse
};
})();
/* jshint ignore:end */
module.exports = Filt;
})();

View File

@@ -1,6 +1,8 @@
// PEG.js filter rules - see http://pegjs.majda.cz/online
{
var flowutils = require("../flow/utils.js");
function or(first, second) {
// Add explicit function names to ease debugging.
function orFilter() {
@@ -49,7 +51,7 @@ var ASSET_TYPES = [
];
function assetFilter(flow) {
if (flow.response) {
var ct = ResponseUtils.getContentType(flow.response);
var ct = flowutils.ResponseUtils.getContentType(flow.response);
var i = ASSET_TYPES.length;
while (i--) {
if (ASSET_TYPES[i].test(ct)) {
@@ -83,9 +85,9 @@ function header(regex){
regex = new RegExp(regex, "i");
function headerFilter(flow){
return (
(flow.request && RequestUtils.match_header(flow.request, regex))
(flow.request && flowutils.RequestUtils.match_header(flow.request, regex))
||
(flow.response && ResponseUtils.match_header(flow.response, regex))
(flow.response && flowutils.ResponseUtils.match_header(flow.response, regex))
);
}
headerFilter.desc = "header matches " + regex;
@@ -94,7 +96,7 @@ function header(regex){
function requestHeader(regex){
regex = new RegExp(regex, "i");
function requestHeaderFilter(flow){
return (flow.request && RequestUtils.match_header(flow.request, regex));
return (flow.request && flowutils.RequestUtils.match_header(flow.request, regex));
}
requestHeaderFilter.desc = "req. header matches " + regex;
return requestHeaderFilter;
@@ -102,7 +104,7 @@ function requestHeader(regex){
function responseHeader(regex){
regex = new RegExp(regex, "i");
function responseHeaderFilter(flow){
return (flow.response && ResponseUtils.match_header(flow.response, regex));
return (flow.response && flowutils.ResponseUtils.match_header(flow.response, regex));
}
responseHeaderFilter.desc = "resp. header matches " + regex;
return responseHeaderFilter;
@@ -128,9 +130,9 @@ function contentType(regex){
regex = new RegExp(regex, "i");
function contentTypeFilter(flow){
return (
(flow.request && regex.test(RequestUtils.getContentType(flow.request)))
(flow.request && regex.test(flowutils.RequestUtils.getContentType(flow.request)))
||
(flow.response && regex.test(ResponseUtils.getContentType(flow.response)))
(flow.response && regex.test(flowutils.ResponseUtils.getContentType(flow.response)))
);
}
contentTypeFilter.desc = "content type matches " + regex;
@@ -139,7 +141,7 @@ function contentType(regex){
function requestContentType(regex){
regex = new RegExp(regex, "i");
function requestContentTypeFilter(flow){
return flow.request && regex.test(RequestUtils.getContentType(flow.request));
return flow.request && regex.test(flowutils.RequestUtils.getContentType(flow.request));
}
requestContentTypeFilter.desc = "req. content type matches " + regex;
return requestContentTypeFilter;
@@ -147,7 +149,7 @@ function requestContentType(regex){
function responseContentType(regex){
regex = new RegExp(regex, "i");
function responseContentTypeFilter(flow){
return flow.response && regex.test(ResponseUtils.getContentType(flow.response));
return flow.response && regex.test(flowutils.ResponseUtils.getContentType(flow.response));
}
responseContentTypeFilter.desc = "resp. content type matches " + regex;
return responseContentTypeFilter;
@@ -155,7 +157,7 @@ function responseContentType(regex){
function url(regex){
regex = new RegExp(regex, "i");
function urlFilter(flow){
return flow.request && regex.test(RequestUtils.pretty_url(flow.request));
return flow.request && regex.test(flowutils.RequestUtils.pretty_url(flow.request));
}
urlFilter.desc = "url matches " + regex;
return urlFilter;