tree: 4e5b0d6f1bc9e610ef3d7c51473044583186791f [path history] [tgz]
  1. api_proto/
  2. apps-script-client/
  3. test/
  4. __init__.py
  5. api_constants.py
  6. api_routes.py
  7. converters.py
  8. frontend_servicer.py
  9. hotlists_servicer.py
  10. issues_servicer.py
  11. monorail_servicer.py
  12. paginator.py
  13. permission_converters.py
  14. permissions_servicer.py
  15. projects_servicer.py
  16. README.md
  17. users_servicer.py
api/v3/README.md

Monorail v3.0 pRPC API

This directory holds all the source for the Monorail pRPC API. This API is implemented using .proto files to describe a gRPC interface (services, methods, and request/response messages). It then uses a shim which converts the gRPC server (which doesn't work on AppEngine, due to lack of support for HTTP/2) into a pRPC server which supports communication over HTTP/1.1, as well as text and JSON IO.

  • Resource name formats for each message are found in the message's resource annotation pattern field.
  • This v3.0 pRPC API is a resource-oriented API and aims to closely follow the principles at aip.dev.

API Documentation

All resources, methods, request parameters, and responses are documented in ./api_proto.

Resource name formats for each message are found in the message's resource annotation pattern field.

Development

Regenerating Python from Protocol Buffers

In order to regenerate the python server and client stubs from the .proto files, run this command:

$ make prpc_proto_v3

If you run into issues with cproto, you might need to run this command first:

eval `../../go/env.py`