2016-03-22 05:01:58 +00:00
|
|
|
import React, {Component, PropTypes} from 'react';
|
2016-04-09 21:41:27 +00:00
|
|
|
import Editor from './base/Editor'
|
2016-03-22 05:01:58 +00:00
|
|
|
|
|
|
|
class RequestBodyEditor extends Component {
|
|
|
|
shouldComponentUpdate (nextProps) {
|
|
|
|
return this.props.request !== nextProps.request;
|
|
|
|
}
|
|
|
|
|
|
|
|
render () {
|
|
|
|
const {request, onChange, className} = this.props;
|
2016-04-04 07:15:30 +00:00
|
|
|
const contentTypeHeader = request.headers.find(h => h.name.toLowerCase() === 'content-type');
|
|
|
|
const mode = contentTypeHeader ? contentTypeHeader.value : 'text/plain';
|
|
|
|
|
2016-03-22 05:01:58 +00:00
|
|
|
return (
|
2016-04-09 21:41:27 +00:00
|
|
|
<Editor
|
2016-03-22 05:01:58 +00:00
|
|
|
value={request.body}
|
|
|
|
className={className}
|
|
|
|
onChange={onChange}
|
2016-03-23 18:34:39 +00:00
|
|
|
options={{
|
2016-04-04 07:15:30 +00:00
|
|
|
mode: mode,
|
2016-03-23 18:34:39 +00:00
|
|
|
placeholder: 'request body here...'
|
|
|
|
}}
|
2016-03-22 05:01:58 +00:00
|
|
|
/>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
RequestBodyEditor.propTypes = {
|
|
|
|
request: PropTypes.shape({
|
2016-04-04 07:15:30 +00:00
|
|
|
body: PropTypes.string.isRequired
|
2016-03-22 05:01:58 +00:00
|
|
|
}).isRequired,
|
|
|
|
onChange: PropTypes.func.isRequired
|
|
|
|
};
|
|
|
|
|
|
|
|
export default RequestBodyEditor;
|