|
|
|
@ -67,13 +67,6 @@ of POST, and that server sets appropriate cache control headers for the response |
|
|
|
|
to be cached by a proxy. This interop test requires that the server is behind |
|
|
|
|
a caching proxy. Use of current timestamp in the request prevents accidental |
|
|
|
|
cache matches left over from previous tests. |
|
|
|
|
Note that client adds a `x-user-ip` header with value `1.2.3.4` to the request. |
|
|
|
|
This is done since some proxys such as GFE will not cache requests from |
|
|
|
|
localhost. |
|
|
|
|
Note also that the client request needs to marked as cacheable. For now this is |
|
|
|
|
achieved by setting the cacheable flag in the request context to 'true'.Longer |
|
|
|
|
term this will be automatically set via method options specified in the proto |
|
|
|
|
file. |
|
|
|
|
|
|
|
|
|
Server features: |
|
|
|
|
* [CacheableUnaryCall][] |
|
|
|
@ -82,8 +75,15 @@ Procedure: |
|
|
|
|
1. Client calls CacheableUnaryCall with `SimpleRequest` request with payload |
|
|
|
|
set to current timestamp. Timestamp format is irrelevant, and resolution is |
|
|
|
|
in nanoseconds. |
|
|
|
|
Client adds a `x-user-ip` header with value `1.2.3.4` to the request. |
|
|
|
|
This is done since some proxys such as GFE will not cache requests from |
|
|
|
|
localhost. |
|
|
|
|
Client marks the request as cacheable by setting the cacheable flag in the |
|
|
|
|
request context. Longer term this should be driven by the method option |
|
|
|
|
specified in the proto file itself. |
|
|
|
|
2. Client calls CacheableUnaryCall with `SimpleRequest` request again |
|
|
|
|
immediately with the same payload as the previous request. |
|
|
|
|
immediately with the same payload as the previous request. Cacheable flat is |
|
|
|
|
also set for this request's context. |
|
|
|
|
|
|
|
|
|
Client asserts: |
|
|
|
|
* Both calls were successful |
|
|
|
@ -975,7 +975,9 @@ for the `SimpleRequest.response_type`. If the server does not support the |
|
|
|
|
Server gets the default SimpleRequest proto as the request. The content of the |
|
|
|
|
request is ignored. It returns the SimpleResponse proto with the payload set |
|
|
|
|
to current timestamp. The timestamp is an integer representing current time |
|
|
|
|
with nanosecond resolution. In addition it adds |
|
|
|
|
with nanosecond resolution. This integer is formated as ASCII decimal in the |
|
|
|
|
response. The format is not really important as long as the response payload |
|
|
|
|
is different for each request. In addition it adds |
|
|
|
|
1. cache control headers such that the response can be cached by proxies in |
|
|
|
|
the response path. Server should be behind a caching proxy for this test |
|
|
|
|
to pass. Currently we set the max-age to 60 seconds. |
|
|
|
|