Skip to content
Snippets Groups Projects
Commit 049ee76e authored by Kevin Moore's avatar Kevin Moore
Browse files

updated layout of generated server-appengine package

so the result is clean on dartfmt
parent 1828bf11
No related branches found
No related tags found
No related merge requests found
# CHANGELOG # CHANGELOG
## 0.2.4
- Improved layout of `server-appengine`.
## 0.2.3+1 ## 0.2.3+1
- fixed an issue with the Polymer template - fixed an issue with the Polymer template
......
...@@ -129,36 +129,37 @@ bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSB7 ...@@ -129,36 +129,37 @@ bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSB7
e3Byb2plY3ROYW1lfX0ubWVtY2FjaGU7CgppbXBvcnQgJ2RhcnQ6YXN5bmMnOwppbXBvcnQgJ2Rh e3Byb2plY3ROYW1lfX0ubWVtY2FjaGU7CgppbXBvcnQgJ2RhcnQ6YXN5bmMnOwppbXBvcnQgJ2Rh
cnQ6aW8nOwoKaW1wb3J0ICdwYWNrYWdlOmFwcGVuZ2luZS9hcHBlbmdpbmUuZGFydCc7Cgpjb25z cnQ6aW8nOwoKaW1wb3J0ICdwYWNrYWdlOmFwcGVuZ2luZS9hcHBlbmdpbmUuZGFydCc7Cgpjb25z
dCBTdHJpbmcgREVGQVVMVF9LRVkgPSAnaGVsbG8nOwpib29sIGNhY2hlSW5pdGlhbGl6ZWQgPSBm dCBTdHJpbmcgREVGQVVMVF9LRVkgPSAnaGVsbG8nOwpib29sIGNhY2hlSW5pdGlhbGl6ZWQgPSBm
YWxzZTsKCi8vLyBJbml0aWFsaXplIHRoZSBjYWNoZS4KRnV0dXJlIGluaXRpYWxpemUoKSB7CiAg YWxzZTsKCi8vLyBJbml0aWFsaXplIHRoZSBjYWNoZS4KRnV0dXJlIGluaXRpYWxpemUoKSBhc3lu
Ly8gSWYgdGhlIGNhY2hlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQsIGp1c3QgcmV0dXJuLgogIGlm YyB7CiAgLy8gSWYgdGhlIGNhY2hlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQsIGp1c3QgcmV0dXJu
IChjYWNoZUluaXRpYWxpemVkKSB7CiAgICByZXR1cm4gbmV3IEZ1dHVyZS52YWx1ZSgpOwogIH0K LgogIGlmIChjYWNoZUluaXRpYWxpemVkKSByZXR1cm47CgogIC8vIFRoZSBBcHBFbmdpbmUgZW52
CiAgLy8gVGhlIEFwcEVuZ2luZSBlbnZpcm9ubWVudCBoYXMgYSBwcmVjb25maWd1cmVkICdjb250 aXJvbm1lbnQgaGFzIGEgcHJlY29uZmlndXJlZCAnY29udGV4dCcgd2hpY2ggcHJvdmlkZXMKICAv
ZXh0JyB3aGljaCBwcm92aWRlcwogIC8vIGF1dGhvcml6ZWQgYWNjZXNzIHRvIHRoZSBkZWZhdWx0 LyBhdXRob3JpemVkIGFjY2VzcyB0byB0aGUgZGVmYXVsdCBhcGkgc2VydmljZXMuCiAgdmFyIG1l
IGFwaSBzZXJ2aWNlcy4KICB2YXIgbWVtY2FjaGUgPSBjb250ZXh0LnNlcnZpY2VzLm1lbWNhY2hl bWNhY2hlID0gY29udGV4dC5zZXJ2aWNlcy5tZW1jYWNoZTsKCiAgLy8gSW5pdGlhbGl6ZSB0aGUg
OwoKICAvLyBJbml0aWFsaXplIHRoZSBjYWNoZSBhbmQgc2V0IHRoZSBkZWZhdWx0IHZhbHVlLgog Y2FjaGUgYW5kIHNldCB0aGUgZGVmYXVsdCB2YWx1ZS4KICBhd2FpdCBtZW1jYWNoZS5jbGVhcigp
IHJldHVybiBtZW1jYWNoZS5jbGVhcigpCiAgICAgIC50aGVuKChfKSA9PiBtZW1jYWNoZS5zZXQo OwogIGF3YWl0IG1lbWNhY2hlLnNldChERUZBVUxUX0tFWSwgJ3RoZXJlIScpOwogIGNhY2hlSW5p
REVGQVVMVF9LRVksICd0aGVyZSEnKSkKICAgICAgLnRoZW4oKF8pID0+IGNhY2hlSW5pdGlhbGl6 dGlhbGl6ZWQgPSB0cnVlOwp9CgovLy8gQ2xlYXJzIHRoZSBjYWNoZSBhbmQgcmVzZXRzIHRoZSBk
ZWQgPSB0cnVlKTsKfQoKLy8vIENsZWFycyB0aGUgY2FjaGUgYW5kIHJlc2V0cyB0aGUgZGVmYXVs ZWZhdWx0LgpGdXR1cmUgY2xlYXIoKSBhc3luYyB7CiAgY2FjaGVJbml0aWFsaXplZCA9IGZhbHNl
dC4KRnV0dXJlIGNsZWFyKCkgewogIGNhY2hlSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICByZXR1cm4g OwogIGF3YWl0IGluaXRpYWxpemUoKTsKfQoKLy8vIEhlbHBlciBtZXRob2QgdG8gd3JpdGUgYSBz
aW5pdGlhbGl6ZSgpOwp9CgovLy8gSGVscGVyIG1ldGhvZCB0byB3cml0ZSBhIHNldCBvZiBrZXkv ZXQgb2Yga2V5L3ZhbHVlIHBhaXJzIHRvIHRoZSBtZW1jYWNoZS4Kdm9pZCB3cml0ZShIdHRwUmVz
dmFsdWUgcGFpcnMgdG8gdGhlIG1lbWNhY2hlLgp2b2lkIHdyaXRlKEh0dHBSZXNwb25zZSByZXNw cG9uc2UgcmVzcG9uc2UsIE1hcDxTdHJpbmcsIFN0cmluZz4gdmFsdWVNYXApIHsKICB2YXIgbWVt
b25zZSwgTWFwPFN0cmluZywgU3RyaW5nPiB2YWx1ZU1hcCkgewogIHZhciBtZW1jYWNoZSA9IGNv Y2FjaGUgPSBjb250ZXh0LnNlcnZpY2VzLm1lbWNhY2hlOwogIEZ1dHVyZS5mb3JFYWNoKHZhbHVl
bnRleHQuc2VydmljZXMubWVtY2FjaGU7CiAgRnV0dXJlLmZvckVhY2godmFsdWVNYXAua2V5cywg TWFwLmtleXMsIChrZXkpIHsKICAgIHZhciB2YWx1ZSA9IHZhbHVlTWFwW2tleV07CiAgICByZXR1
KGtleSkgewogICAgdmFyIHZhbHVlID0gdmFsdWVNYXBba2V5XTsKICAgIHJldHVybiBtZW1jYWNo cm4gbWVtY2FjaGUKICAgICAgICAuc2V0KGtleSwgdmFsdWUpCiAgICAgICAgLnRoZW4oKF8pID0+
ZS5zZXQoa2V5LCB2YWx1ZSkKICAgICAgICAudGhlbigoXykgPT4gcmVzcG9uc2Uud3JpdGVsbign IHJlc3BvbnNlLndyaXRlbG4oJyIke2tleX0iOiAiJHt2YWx1ZX0iJykpOwogIH0pLndoZW5Db21w
IiR7a2V5fSI6ICIke3ZhbHVlfSInKSk7CiAgfSkud2hlbkNvbXBsZXRlKHJlc3BvbnNlLmNsb3Nl bGV0ZShyZXNwb25zZS5jbG9zZSk7Cn0KCi8vLyBIZWxwZXIgbWV0aG9kIHRvIHJlYWQgYSBzZXQg
KTsKfQoKLy8vIEhlbHBlciBtZXRob2QgdG8gcmVhZCBhIHNldCBvZiB2YWx1ZXMgZnJvbSB0aGUg b2YgdmFsdWVzIGZyb20gdGhlIG1lbWNhY2hlLgp2b2lkIHJlYWQoSHR0cFJlc3BvbnNlIHJlc3Bv
bWVtY2FjaGUuCnZvaWQgcmVhZChIdHRwUmVzcG9uc2UgcmVzcG9uc2UsIEl0ZXJhYmxlPFN0cmlu bnNlLCBJdGVyYWJsZTxTdHJpbmc+IGtleXMpIHsKICB2YXIgbWVtY2FjaGUgPSBjb250ZXh0LnNl
Zz4ga2V5cykgewogIHZhciBtZW1jYWNoZSA9IGNvbnRleHQuc2VydmljZXMubWVtY2FjaGU7CiAg cnZpY2VzLm1lbWNhY2hlOwogIEZ1dHVyZQogICAgICAuZm9yRWFjaCgKICAgICAgICAgIGtleXMs
RnV0dXJlLmZvckVhY2goa2V5cywgKGtleSkgPT4gbWVtY2FjaGUuZ2V0KGtleSkKICAgICAgLnRo CiAgICAgICAgICAoa2V5KSA9PiBtZW1jYWNoZQogICAgICAgICAgICAgIC5nZXQoa2V5KQogICAg
ZW4oKHZhbHVlKSA9PiByZXNwb25zZS53cml0ZWxuKCciJHtrZXl9IjogIiR7dmFsdWV9IicpKQog ICAgICAgICAgIC50aGVuKCh2YWx1ZSkgPT4gcmVzcG9uc2Uud3JpdGVsbignIiR7a2V5fSI6ICIk
ICAgICAuY2F0Y2hFcnJvcigoXykgPT4gcmVzcG9uc2Uud3JpdGVsbignIiR7a2V5fSI6IHZhbHVl e3ZhbHVlfSInKSkKICAgICAgICAgICAgICAuY2F0Y2hFcnJvcigKICAgICAgICAgICAgICAgICAg
IG5vdCBmb3VuZCEnKSkpCiAgICAud2hlbkNvbXBsZXRlKHJlc3BvbnNlLmNsb3NlKTsKfQo=""", KF8pID0+IHJlc3BvbnNlLndyaXRlbG4oJyIke2tleX0iOiB2YWx1ZSBub3QgZm91bmQhJykpKQog
ICAgICAud2hlbkNvbXBsZXRlKHJlc3BvbnNlLmNsb3NlKTsKfQo=""",
"pubspec.yaml", "pubspec.yaml",
"text", "text",
"""bmFtZToge3twcm9qZWN0TmFtZX19CnZlcnNpb246IDAuMC4xCmRlc2NyaXB0aW9uOiBBIHNpbXBs """bmFtZToge3twcm9qZWN0TmFtZX19CnZlcnNpb246IDAuMC4xCmRlc2NyaXB0aW9uOiBBIHNpbXBs
ZSBBcHAgRW5naW5lIGFwcGxpY2F0aW9uLgojYXV0aG9yOiB7e2F1dGhvcn19IDxlbWFpbEBleGFt ZSBBcHAgRW5naW5lIGFwcGxpY2F0aW9uLgojYXV0aG9yOiB7e2F1dGhvcn19IDxlbWFpbEBleGFt
cGxlLmNvbT4KI2hvbWVwYWdlOiBodHRwczovL3d3dy5leGFtcGxlLmNvbQoKZW52aXJvbm1lbnQ6 cGxlLmNvbT4KI2hvbWVwYWdlOiBodHRwczovL3d3dy5leGFtcGxlLmNvbQoKZW52aXJvbm1lbnQ6
CiAgc2RrOiAnPj0xLjUuMCA8Mi4wLjAnCgpkZXBlbmRlbmNpZXM6CiAgYXBwZW5naW5lOiAnPj0w CiAgc2RrOiAnPj0xLjkuMCA8Mi4wLjAnCgpkZXBlbmRlbmNpZXM6CiAgYXBwZW5naW5lOiAnPj0w
LjMuMCA8MC40LjAnCg==""" LjMuMCA8MC40LjAnCg=="""
]; ];
...@@ -12,26 +12,24 @@ const String DEFAULT_KEY = 'hello'; ...@@ -12,26 +12,24 @@ const String DEFAULT_KEY = 'hello';
bool cacheInitialized = false; bool cacheInitialized = false;
/// Initialize the cache. /// Initialize the cache.
Future initialize() { Future initialize() async {
// If the cache is already initialized, just return. // If the cache is already initialized, just return.
if (cacheInitialized) { if (cacheInitialized) return;
return new Future.value();
}
// The AppEngine environment has a preconfigured 'context' which provides // The AppEngine environment has a preconfigured 'context' which provides
// authorized access to the default api services. // authorized access to the default api services.
var memcache = context.services.memcache; var memcache = context.services.memcache;
// Initialize the cache and set the default value. // Initialize the cache and set the default value.
return memcache.clear() await memcache.clear();
.then((_) => memcache.set(DEFAULT_KEY, 'there!')) await memcache.set(DEFAULT_KEY, 'there!');
.then((_) => cacheInitialized = true); cacheInitialized = true;
} }
/// Clears the cache and resets the default. /// Clears the cache and resets the default.
Future clear() { Future clear() async {
cacheInitialized = false; cacheInitialized = false;
return initialize(); await initialize();
} }
/// Helper method to write a set of key/value pairs to the memcache. /// Helper method to write a set of key/value pairs to the memcache.
...@@ -39,7 +37,8 @@ void write(HttpResponse response, Map<String, String> valueMap) { ...@@ -39,7 +37,8 @@ void write(HttpResponse response, Map<String, String> valueMap) {
var memcache = context.services.memcache; var memcache = context.services.memcache;
Future.forEach(valueMap.keys, (key) { Future.forEach(valueMap.keys, (key) {
var value = valueMap[key]; var value = valueMap[key];
return memcache.set(key, value) return memcache
.set(key, value)
.then((_) => response.writeln('"${key}": "${value}"')); .then((_) => response.writeln('"${key}": "${value}"'));
}).whenComplete(response.close); }).whenComplete(response.close);
} }
...@@ -47,8 +46,13 @@ void write(HttpResponse response, Map<String, String> valueMap) { ...@@ -47,8 +46,13 @@ void write(HttpResponse response, Map<String, String> valueMap) {
/// Helper method to read a set of values from the memcache. /// Helper method to read a set of values from the memcache.
void read(HttpResponse response, Iterable<String> keys) { void read(HttpResponse response, Iterable<String> keys) {
var memcache = context.services.memcache; var memcache = context.services.memcache;
Future.forEach(keys, (key) => memcache.get(key) Future
.then((value) => response.writeln('"${key}": "${value}"')) .forEach(
.catchError((_) => response.writeln('"${key}": value not found!'))) keys,
.whenComplete(response.close); (key) => memcache
.get(key)
.then((value) => response.writeln('"${key}": "${value}"'))
.catchError(
(_) => response.writeln('"${key}": value not found!')))
.whenComplete(response.close);
} }
...@@ -5,7 +5,7 @@ description: A simple App Engine application. ...@@ -5,7 +5,7 @@ description: A simple App Engine application.
#homepage: https://www.example.com #homepage: https://www.example.com
environment: environment:
sdk: '>=1.5.0 <2.0.0' sdk: '>=1.9.0 <2.0.0'
dependencies: dependencies:
appengine: '>=0.3.0 <0.4.0' appengine: '>=0.3.0 <0.4.0'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment