blob: fe8fa2005a30847c2f0d59f9fd3a3d59098ae597 (
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
|
var React = require("react");
var flowutils = require("../../flow/utils.js");
var utils = require("../../utils.js");
var ContentView = require("./contentview.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(" ");
//TODO: Styling
return (
<section>
<div className="first-line">{ first_line }</div>
<Headers message={flow.request}/>
<hr/>
<ContentView flow={flow} message={flow.request}/>
</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(" ");
//TODO: Styling
return (
<section>
<div className="first-line">{ first_line }</div>
<Headers message={flow.response}/>
<hr/>
<ContentView flow={flow} message={flow.response}/>
</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
};
|