Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1083)

Unified Diff: pkg/appengine/lib/api/modules.dart

Issue 804973002: Add appengine/gcloud/mustache dependencies. (Closed) Base URL: git@github.com:dart-lang/pub-dartlang-dart.git@master
Patch Set: Added AUTHORS/LICENSE/PATENTS files Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/appengine/lib/api/memcache.dart ('k') | pkg/appengine/lib/api/remote_api.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/appengine/lib/api/modules.dart
diff --git a/pkg/appengine/lib/api/modules.dart b/pkg/appengine/lib/api/modules.dart
new file mode 100644
index 0000000000000000000000000000000000000000..c820976761cbdf889af48b7c33c265cea8e6e626
--- /dev/null
+++ b/pkg/appengine/lib/api/modules.dart
@@ -0,0 +1,86 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library appengine.api.modules;
+
+import 'dart:async';
+
+import 'package:gcloud/service_scope.dart' as ss;
+
+abstract class ModulesService {
+ /**
+ * Returns the current running module name.
+ */
+ String get currentModule;
+
+ /**
+ * Returns the current running module version.
+ */
+ String get currentVersion;
+
+ /**
+ * Returns the current running module instance.
+ */
+ String get currentInstance;
+
+ /**
+ * Completes with the default version for module [module].
+ */
+ Future<String> defaultVersion(String module);
+
+ /**
+ * Completes with a list of all modules.
+ */
+ Future<List<String>> modules();
+
+ /**
+ * Completes with a list of all versions for module [module].
+ */
+ Future<List<String>> versions(String module);
+
+ /**
+ * Completes with a hostname, that can be used to contact a given part of an
+ * application.
+ *
+ * Without any arguments, the result is the hostname for the
+ * default module and default version.
+ *
+ * If [module] is specified, the result is the hostname for the
+ * specified module and the default version.
+ *
+ * If [module] and [version] is specified, the result is the hostname for the
+ * specified module and the specified version.
+ *
+ * Finally if [instance] is also specified, the result is the hostname for
+ * contacting a specific running instance for the specified [module] and
+ * [version].
+ *
+ * For applications served from the appspot.com domain, some of the dots
+ * used to separate the different parts of the hostname will be replaced
+ * by `-dot-`. This is to support application access using HTTPS, and is
+ * required as Google is no longer issuing SSL certificates for
+ * double-wildcard domains hosted at appspot.com (i.e. *.*.appspot.com).
+ */
+ Future<String> hostname([String module, String version, String instance]);
+}
+
+/**
+ * Register a new [ModulesService] object.
+ *
+ * Calling this outside of a service scope or calling it more than once inside
+ * the same service scope will result in an error.
+ *
+ * See the `package:gcloud/service_scope.dart` library for more information.
+ */
+void registerModulesService(ModulesService service) {
+ ss.register(#_appengine.modules, service);
+}
+
+/**
+ * The modules service.
+ *
+ * Request handlers will be run inside a service scope which contains the
+ * modules service.
+ */
+ModulesService get modulesService => ss.lookup(#_appengine.modules);
« no previous file with comments | « pkg/appengine/lib/api/memcache.dart ('k') | pkg/appengine/lib/api/remote_api.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698