Skip to content

Commit 2cda92b

Browse files
committed
update: upgrade web package to v1.1.0
1 parent 4621ac7 commit 2cda92b

File tree

3 files changed

+20
-25
lines changed

3 files changed

+20
-25
lines changed

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
## 4.0.1
1+
## 4.0.2-wip
22

3+
* Internal optimization to client code.
4+
* Small fixes, such as ports in testing and enabling `timeline_test.dart`.
5+
* When the keep alive manager runs into a timeout, it will finish the transport instead of closing
6+
the connection, as defined in the gRPC spec.
37
* Update xhr transport to migrate off legacy JS/HTML apis.
48

9+
## 4.0.1
10+
11+
* Fix header and trailing not completing if the call is terminated. Fixes [#727](https://github.com/grpc/grpc-dart/issues/727)
12+
513
## 4.0.0
614

715
* Set compressed flag correctly for grpc-encoding = identity. Fixes [#669](https://github.com/grpc/grpc-dart/issues/669) (https://github.com/grpc/grpc-dart/pull/693)

lib/src/client/transport/xhr_transport.dart

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,14 @@ class XhrTransportStream implements GrpcTransportStream {
5959
if (_incomingProcessor.isClosed) {
6060
return;
6161
}
62-
// TODO: dart-lang/web#285 use 'if' for now
63-
if (_request.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
64-
_onHeadersReceived();
65-
} else if (_request.readyState == XMLHttpRequest.DONE) {
66-
_onRequestDone();
67-
_close();
62+
switch (_request.readyState) {
63+
case XMLHttpRequest.HEADERS_RECEIVED:
64+
_onHeadersReceived();
65+
break;
66+
case XMLHttpRequest.DONE:
67+
_onRequestDone();
68+
_close();
69+
break;
6870
}
6971
});
7072

@@ -99,7 +101,7 @@ class XhrTransportStream implements GrpcTransportStream {
99101
bool _validateResponseState() {
100102
try {
101103
validateHttpStatusAndContentType(
102-
_request.status, _parseHeaders(_request.getAllResponseHeaders()),
104+
_request.status, _request.responseHeaders,
103105
rawResponse: _request.responseText);
104106
return true;
105107
} catch (e, st) {
@@ -113,8 +115,7 @@ class XhrTransportStream implements GrpcTransportStream {
113115
if (!_validateResponseState()) {
114116
return;
115117
}
116-
_incomingMessages
117-
.add(GrpcMetadata(_parseHeaders(_request.getAllResponseHeaders())));
118+
_incomingMessages.add(GrpcMetadata(_request.responseHeaders));
118119
}
119120

120121
void _onRequestDone() {
@@ -138,20 +139,6 @@ class XhrTransportStream implements GrpcTransportStream {
138139
_onDone(this);
139140
}
140141

141-
Map<String, String> _parseHeaders(String rawHeaders) {
142-
final headers = <String, String>{};
143-
final lines = rawHeaders.split('\r\n');
144-
for (var line in lines) {
145-
final index = line.indexOf(': ');
146-
if (index != -1) {
147-
final key = line.substring(0, index);
148-
final value = line.substring(index + 2);
149-
headers[key] = value;
150-
}
151-
}
152-
return headers;
153-
}
154-
155142
@override
156143
Future<void> terminate() async {
157144
_close();

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dependencies:
1717
http2: ^2.2.0
1818
protobuf: '>=2.0.0 <4.0.0'
1919
clock: ^1.1.1
20-
web: ^1.0.0
20+
web: ^1.1.0
2121

2222
dev_dependencies:
2323
build_runner: ^2.0.0

0 commit comments

Comments
 (0)