blob: ffbfff4377c27da422c5725acd7ee7b323d60b58 (
plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
var React = require("react");
var flowutils = require("../../flow/utils.js");
var utils = require("../../utils.js");
var Headers = React.createClass({
render: function () {
var rows = this.props.message.headers.map(function (header, i) {
return (
<tr key={i}>
<td className="header-name">{header[0] + ":"}</td>
<td className="header-value">{header[1]}</td>
</tr>
);
});
return (
<table className="header-table">
<tbody>
{rows}
</tbody>
</table>
);
}
});
var Request = React.createClass({
render: function () {
var flow = this.props.flow;
var first_line = [
flow.request.method,
flowutils.RequestUtils.pretty_url(flow.request),
"HTTP/" + flow.request.httpversion.join(".")
].join(" ");
var content = null;
if (flow.request.contentLength > 0) {
content = "Request Content Size: " + utils.formatSize(flow.request.contentLength);
} else {
content = <div className="alert alert-info">No Content</div>;
}
//TODO: Styling
return (
<section>
<div className="first-line">{ first_line }</div>
<Headers message={flow.request}/>
<hr/>
{content}
</section>
);
}
});
var Response = React.createClass({
render: function () {
var flow = this.props.flow;
var first_line = [
"HTTP/" + flow.response.httpversion.join("."),
flow.response.code,
flow.response.msg
].join(" ");
var content = null;
if (flow.response.contentLength > 0) {
content = "Response Content Size: " + utils.formatSize(flow.response.contentLength);
} else {
content = <div className="alert alert-info">No Content</div>;
}
//TODO: Styling
return (
<section>
<div className="first-line">{ first_line }</div>
<Headers message={flow.response}/>
<hr/>
{content}
</section>
);
}
});
var Error = React.createClass({
render: function () {
var flow = this.props.flow;
return (
<section>
<div className="alert alert-warning">
{flow.error.msg}
<div>
<small>{ utils.formatTimeStamp(flow.error.timestamp) }</small>
</div>
</div>
</section>
);
}
});
module.exports = {
Request: Request,
Response: Response,
Error: Error
};
|