webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
|
#import <Api.pbobjc.h>
Properties | |
NSString * | name |
The fully qualified name of the API which is included. More... | |
NSString * | root |
Additional Inherited Members |
Declares an API to be included in this API. The including API must redeclare all the methods from the included API, but documentation and options are inherited as follows:
Example of a simple mixin:
package google.acl.v1; service AccessControl { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = "/v1/{resource=**}:getAcl"; } } package google.storage.v2; service Storage { rpc GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns (Data) { option (google.api.http).get = "/v2/{resource=**}"; } }
Example of a mixin configuration:
apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl
The mixin construct implies that all methods in AccessControl
are also declared with same name and request/response types in Storage
. A documentation generator or annotation processor will see the effective Storage.GetAcl
method after inherting documentation and annotations as follows:
service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... }
Note how the version in the path pattern changed from v1
to v2
.
If the root
field in the mixin is specified, it should be a relative path under which inherited HTTP paths are placed. Example:
apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl root: acls
This implies the following inherited HTTP annotation:
service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } ... }
|
readwritenonatomiccopy |
If non-empty specifies a path under which inherited HTTP paths are rooted.