Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
31f6b8f6
Commit
31f6b8f6
authored
Nov 17, 2015
by
Collin Jackson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make fetch.dart and mojo_client.dart share a network service singleton
parent
b07d55d1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
25 deletions
+16
-25
mojo_client.dart
packages/flutter/lib/src/http/mojo_client.dart
+11
-11
asset_bundle.dart
packages/flutter/lib/src/services/asset_bundle.dart
+3
-1
fetch.dart
packages/flutter/lib/src/services/fetch.dart
+2
-13
No files found.
packages/flutter/lib/src/http/mojo_client.dart
View file @
31f6b8f6
...
...
@@ -16,14 +16,6 @@ import 'package:mojo/mojo/http_header.mojom.dart' as mojo;
import
'response.dart'
;
mojo
.
NetworkServiceProxy
_initNetworkService
(
)
{
mojo
.
NetworkServiceProxy
networkService
=
new
mojo
.
NetworkServiceProxy
.
unbound
();
shell
.
connectToService
(
"mojo:authenticated_network_service"
,
networkService
);
return
networkService
;
}
final
mojo
.
NetworkServiceProxy
_networkService
=
_initNetworkService
();
/// A `mojo`-based HTTP client
class
MojoClient
{
...
...
@@ -84,12 +76,12 @@ class MojoClient {
mojo
.
DataPipeFiller
.
fillHandle
(
pipe
.
producer
,
data
);
}
try
{
_
networkService
.
ptr
.
createUrlLoader
(
loader
);
networkService
.
ptr
.
createUrlLoader
(
loader
);
mojo
.
UrlResponse
response
=
(
await
loader
.
ptr
.
start
(
request
)).
response
;
ByteData
data
=
await
mojo
.
DataPipeDrainer
.
drainHandle
(
response
.
body
);
Uint8List
bodyBytes
=
new
Uint8List
.
view
(
data
.
buffer
);
String
body
=
new
String
.
fromCharCodes
(
bodyBytes
);
return
new
Response
(
body:
body
,
bodyBytes:
bodyBytes
,
statusCode:
response
.
statusCode
);
String
body
String
=
new
String
.
fromCharCodes
(
bodyBytes
);
return
new
Response
(
body:
body
String
,
bodyBytes:
bodyBytes
,
statusCode:
response
.
statusCode
);
}
catch
(
e
)
{
print
(
"NetworkService unavailable
$e
"
);
return
new
Response
(
statusCode:
500
);
...
...
@@ -105,4 +97,12 @@ class MojoClient {
}
void
close
()
{}
static
mojo
.
NetworkServiceProxy
_initNetworkService
()
{
mojo
.
NetworkServiceProxy
proxy
=
new
mojo
.
NetworkServiceProxy
.
unbound
();
shell
.
connectToService
(
"mojo:authenticated_network_service"
,
proxy
);
return
proxy
;
}
static
final
mojo
.
NetworkServiceProxy
networkService
=
_initNetworkService
();
}
packages/flutter/lib/src/services/asset_bundle.dart
View file @
31f6b8f6
...
...
@@ -40,7 +40,9 @@ class NetworkAssetBundle extends AssetBundle {
ImageResource
loadImage
(
String
key
)
=>
imageCache
.
load
(
_urlFromKey
(
key
));
Future
<
String
>
loadString
(
String
key
)
=>
http
.
get
(
_urlFromKey
(
key
));
Future
<
String
>
loadString
(
String
key
)
async
{
return
(
await
http
.
get
(
_urlFromKey
(
key
))).
body
;
}
}
Future
_fetchAndUnpackBundle
(
String
relativeUrl
,
AssetBundleProxy
bundle
)
async
{
...
...
packages/flutter/lib/src/services/fetch.dart
View file @
31f6b8f6
...
...
@@ -3,30 +3,19 @@
// found in the LICENSE file.
import
'dart:async'
;
import
'dart:typed_data'
;
import
'package:mojo/core.dart'
as
core
;
import
'package:mojo/mojo/url_request.mojom.dart'
;
import
'package:mojo/mojo/url_response.mojom.dart'
;
import
'package:mojo_services/mojo/network_service.mojom.dart'
;
import
'package:mojo_services/mojo/url_loader.mojom.dart'
;
import
'
shell
.dart'
;
import
'
../http/mojo_client
.dart'
;
export
'package:mojo/mojo/url_response.mojom.dart'
show
UrlResponse
;
NetworkServiceProxy
_initNetworkService
(
)
{
NetworkServiceProxy
networkService
=
new
NetworkServiceProxy
.
unbound
();
shell
.
connectToService
(
"mojo:authenticated_network_service"
,
networkService
);
return
networkService
;
}
final
NetworkServiceProxy
_networkService
=
_initNetworkService
();
Future
<
UrlResponse
>
fetch
(
UrlRequest
request
)
async
{
UrlLoaderProxy
loader
=
new
UrlLoaderProxy
.
unbound
();
try
{
_
networkService
.
ptr
.
createUrlLoader
(
loader
);
MojoClient
.
networkService
.
ptr
.
createUrlLoader
(
loader
);
UrlResponse
response
=
(
await
loader
.
ptr
.
start
(
request
)).
response
;
return
response
;
}
catch
(
e
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment