@@ -20,9 +20,9 @@ const BodyTypeSelect = (props) => {
20
20
if ( ! dropdownEl . current . contains ( event . target ) ) {
21
21
setDropdownIsActive ( false ) ;
22
22
}
23
- }
24
- document . addEventListener ( ' click' , closeDropdown ) ;
25
- return ( ) => document . removeEventListener ( ' click' , closeDropdown ) ;
23
+ } ;
24
+ document . addEventListener ( " click" , closeDropdown ) ;
25
+ return ( ) => document . removeEventListener ( " click" , closeDropdown ) ;
26
26
} , [ ] ) ;
27
27
28
28
const removeContentTypeHeader = ( ) => {
@@ -33,65 +33,94 @@ const BodyTypeSelect = (props) => {
33
33
headersArr : filtered ,
34
34
count : filtered . length ,
35
35
} ) ;
36
- }
36
+ } ;
37
37
38
38
const setNewBodyType = ( bodyTypeStr ) => {
39
39
setNewRequestBody ( {
40
40
...newRequestBody ,
41
41
bodyType : bodyTypeStr ,
42
- } )
43
- }
42
+ } ) ;
43
+ } ;
44
44
45
- return (
46
- < div ref = { dropdownEl } className = { `mt-1 mb- dropdown ${ dropdownIsActive ? 'is-active' : '' } ` } >
45
+ const setContentTypeHeader = ( newBodyType ) => {
46
+ const headersCopy = JSON . parse ( JSON . stringify ( newRequestHeaders ) ) ;
47
+ headersCopy . headersArr [ 0 ] = {
48
+ id : Math . random ( ) * 1000000 ,
49
+ active : true ,
50
+ key : "Content-type" ,
51
+ value : newBodyType ,
52
+ } ;
53
+ setNewRequestHeaders ( {
54
+ headersArr : headersCopy . headersArr ,
55
+ } ) ;
56
+ } ;
47
57
58
+ return (
59
+ < div
60
+ ref = { dropdownEl }
61
+ className = { `mt-1 mb- dropdown ${ dropdownIsActive ? "is-active" : "" } ` }
62
+ >
48
63
< div className = "dropdown-trigger" >
49
- < button className = "button is-small is-outlined is-primary mr-3 add-header-or-cookie-button" aria-haspopup = "true" aria-controls = "dropdown-menu"
64
+ < button
65
+ className = "button is-small is-outlined is-primary mr-3 add-header-or-cookie-button"
66
+ aria-haspopup = "true"
67
+ aria-controls = "dropdown-menu"
50
68
onClick = { ( ) => setDropdownIsActive ( ! dropdownIsActive ) }
51
69
>
52
70
< span > { newRequestBody . bodyType } </ span >
53
71
< span className = "icon is-small" >
54
- < img src = { dropDownArrow } className = "is-awesome-icon" aria-hidden = "true" />
72
+ < img
73
+ src = { dropDownArrow }
74
+ className = "is-awesome-icon"
75
+ aria-hidden = "true"
76
+ />
55
77
</ span >
56
78
</ button >
57
79
</ div >
58
80
59
81
< div className = "dropdown-menu" >
60
82
< ul className = "dropdown-content" >
61
- { newRequestBody . bodyType !== ' raw' &&
62
- < a
83
+ { newRequestBody . bodyType !== " raw" && (
84
+ < a
63
85
onClick = { ( ) => {
64
- setDropdownIsActive ( false ) ;
65
- setNewBodyType ( "raw" )
66
- } }
67
- className = "dropdown-item"
68
- > raw</ a >
69
- }
70
- { newRequestBody . bodyType !== 'x-www-form-urlencoded' &&
86
+ setDropdownIsActive ( false ) ;
87
+ setNewBodyType ( "raw" ) ;
88
+ setContentTypeHeader ( "text/plain" ) ;
89
+ } }
90
+ className = "dropdown-item"
91
+ >
92
+ raw
93
+ </ a >
94
+ ) }
95
+ { newRequestBody . bodyType !== "x-www-form-urlencoded" && (
71
96
< a
72
97
onClick = { ( ) => {
73
98
setDropdownIsActive ( false ) ;
74
- setNewBodyType ( 'x-www-form-urlencoded' ) ;
75
- } }
76
- className = "dropdown-item"
77
- > x-www-form-urlencoded</ a >
78
- }
79
- { newRequestBody . bodyType !== 'none' &&
99
+ setContentTypeHeader ( "x-www-form-urlencoded" ) ;
100
+ setNewBodyType ( "x-www-form-urlencoded" ) ;
101
+ } }
102
+ className = "dropdown-item"
103
+ >
104
+ x-www-form-urlencoded
105
+ </ a >
106
+ ) }
107
+ { newRequestBody . bodyType !== "none" && (
80
108
< a
81
109
onClick = { ( ) => {
82
110
setDropdownIsActive ( false ) ;
83
- setNewBodyType ( ' none' )
111
+ setNewBodyType ( " none" ) ;
84
112
removeContentTypeHeader ( ) ;
85
- } }
86
- className = "dropdown-item"
87
- > none</ a >
88
- }
113
+ } }
114
+ className = "dropdown-item"
115
+ >
116
+ none
117
+ </ a >
118
+ ) }
89
119
</ ul >
90
120
</ div >
91
121
</ div >
92
- ) ;
93
- }
94
-
122
+ ) ;
123
+ } ;
95
124
96
125
BodyTypeSelect . propTypes = {
97
126
newRequestBody : PropTypes . object . isRequired ,
0 commit comments