Project import generated by Copybara.
GitOrigin-RevId: d9e9e3fb4e31372ec1fb43b178994ca78fa8fe70
diff --git a/api/api_routes.py b/api/api_routes.py
new file mode 100644
index 0000000..093323b
--- /dev/null
+++ b/api/api_routes.py
@@ -0,0 +1,46 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://developers.google.com/open-source/licenses/bsd
+
+# This file implements a pRPC API for Monorail.
+#
+# See the pRPC spec here: https://godoc.org/github.com/luci/luci-go/grpc/prpc
+#
+# Each Servicer corresponds to a service defined in a .proto file in this
+# directory. Each method on that Servicer corresponds to one of the rpcs
+# defined on the service.
+#
+# All APIs are served under the /prpc/* path space. Each service gets its own
+# namespace under that, and each method is an individual endpoints. For example,
+# POST https://bugs.chromium.org/prpc/monorail.Users/GetUser
+# would be a call to the api.users_servicer.UsersServicer.GetUser method.
+#
+# Note that this is not a RESTful API, although it is CRUDy. All requests are
+# POSTs, all methods take exactly one input, and all methods return exactly
+# one output.
+#
+# TODO(http://crbug.com/monorail/1703): Actually integrate the rpcexplorer.
+# You can use the API Explorer here: https://bugs.chromium.org/rpcexplorer
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+
+from api import features_servicer
+from api import issues_servicer
+from api import projects_servicer
+from api import sitewide_servicer
+from api import users_servicer
+
+
+def RegisterApiHandlers(prpc_server, services):
+ """Registers pRPC API services. And makes their routes
+ available in prpc_server.get_routes().
+ """
+
+ prpc_server.add_service(features_servicer.FeaturesServicer(services))
+ prpc_server.add_service(issues_servicer.IssuesServicer(services))
+ prpc_server.add_service(projects_servicer.ProjectsServicer(services))
+ prpc_server.add_service(sitewide_servicer.SitewideServicer(services))
+ prpc_server.add_service(users_servicer.UsersServicer(services))