-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
72 lines (66 loc) · 1.7 KB
/
App.js
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
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
constructor() {
super()
this.state = {}
}
componentDidMount() {
var self = this
fetch("/gdc/account/login", {
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"postUserLogin":{
"login": "someone@somewhere.org",
"password" :"******"
}
})
}).then(function(response) {
console.log('response', response)
response.text().then(function(text) {
self.setState({
apiResponse: response,
responseBody: text
})
})
});
}
renderApiResponse() {
const response = this.state.apiResponse
if (!response) {
return <span>Waiting for a response from server</span>
}
if (response.status === 403) {
return <span>
Status 403 ({this.state.responseBody}): it looks like
a CORS problem because of the original Origin header
passed through by the proxy
</span>
} else {
return <span>
Status {response.status} ({this.state.responseBody}):
API responded with something else than 403
- it looks like our request was accepted by the server
(we would get 403 in case of Origin problems)
</span>
}
}
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
{ this.renderApiResponse() }
</p>
</div>
);
}
}
export default App;