|
1 import Qt 4.7 |
|
2 |
|
3 QtObject { |
|
4 property string url |
|
5 |
|
6 property bool unsentException: false |
|
7 property bool openedException: false |
|
8 |
|
9 property bool readyState: false |
|
10 property bool openedState: false |
|
11 |
|
12 property bool headersReceivedState: false |
|
13 property bool headersReceivedNullHeader: false |
|
14 property bool headersReceivedValidHeader: false |
|
15 property bool headersReceivedMultiValidHeader: false |
|
16 property bool headersReceivedCookieHeader: false |
|
17 |
|
18 property bool doneState: false |
|
19 property bool doneNullHeader: false |
|
20 property bool doneValidHeader: false |
|
21 property bool doneMultiValidHeader: false |
|
22 property bool doneCookieHeader: false |
|
23 |
|
24 property bool dataOK: false |
|
25 |
|
26 Component.onCompleted: { |
|
27 var x = new XMLHttpRequest; |
|
28 |
|
29 try { |
|
30 x.getResponseHeader("Test-Header"); |
|
31 } catch (e) { |
|
32 if (e.code == DOMException.INVALID_STATE_ERR) |
|
33 unsentException = true; |
|
34 } |
|
35 |
|
36 if (x.readyState == XMLHttpRequest.UNSENT) |
|
37 readyState = true; |
|
38 |
|
39 x.open("GET", url); |
|
40 x.setRequestHeader("Accept-Language", "en-US"); |
|
41 |
|
42 if (x.readyState == XMLHttpRequest.OPENED) |
|
43 openedState = true; |
|
44 |
|
45 try { |
|
46 x.getResponseHeader("Test-Header"); |
|
47 } catch (e) { |
|
48 if (e.code == DOMException.INVALID_STATE_ERR) |
|
49 openedException = true; |
|
50 } |
|
51 |
|
52 // Test to the end |
|
53 x.onreadystatechange = function() { |
|
54 if (x.readyState == XMLHttpRequest.HEADERS_RECEIVED) { |
|
55 headersReceivedState = true; |
|
56 |
|
57 headersReceivedNullHeader = (x.getResponseHeader("Nonexistant-header") == ""); |
|
58 headersReceivedValidHeader = (x.getResponseHeader("Test-HEAder") == "TestValue"); |
|
59 headersReceivedMultiValidHeader = (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue"); |
|
60 headersReceivedCookieHeader = (x.getResponseHeader("Set-Cookie") == "" && x.getResponseHeader("Set-Cookie2") == ""); |
|
61 } else if (x.readyState == XMLHttpRequest.DONE) { |
|
62 doneState = headersReceivedState && true; |
|
63 |
|
64 doneNullHeader = (x.getResponseHeader("Nonexistant-header") == ""); |
|
65 doneValidHeader = (x.getResponseHeader("Test-HEAder") == "TestValue"); |
|
66 doneMultiValidHeader = (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue"); |
|
67 doneCookieHeader = (x.getResponseHeader("Set-Cookie") == "" && x.getResponseHeader("Set-Cookie2") == ""); |
|
68 dataOK = (x.responseText == "QML Rocks!\n"); |
|
69 } |
|
70 } |
|
71 |
|
72 x.send() |
|
73 } |
|
74 } |
|
75 |
|
76 |