15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_SIGNED_URL_OPTIONS_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_SIGNED_URL_OPTIONS_H
18 #include "google/cloud/storage/internal/complex_option.h"
19 #include "google/cloud/storage/version.h"
33 std::chrono::system_clock::time_point> {
35 std::chrono::system_clock::time_point>::ComplexOption;
39 static char const*
name() {
return "expiration_time"; }
47 std::pair<std::string, std::string>> {
49 std::pair<std::string, std::string>>::ComplexOption;
54 : ComplexOption(std::make_pair(std::move(header), std::move(value))) {}
55 static char const*
name() {
return "expiration_time"; }
68 std::pair<std::string, std::string>> {
70 std::pair<std::string, std::string>>::ComplexOption;
75 : ComplexOption(std::make_pair(std::move(key), std::move(value))) {}
77 : ComplexOption(std::make_pair(std::string(key), std::move(value))) {}
78 static char const*
name() {
return "query-parameter"; }
87 std::to_string(generation)
);
99 std::string disposition) {
101 std::move(disposition)
);
105 std::string
const& type) {
118 static char const*
name() {
return "query-parameter"; }
158 std::chrono::system_clock::time_point> {
160 std::chrono::system_clock::time_point>::ComplexOption;
164 static char const*
name() {
return "x-goog-date"; }
176 static char const*
name() {
return "x-goog-expires"; }
191 static char const*
name() {
return "signing-account"; }
203 std::vector<std::string>> {
205 std::vector<std::string>>::ComplexOption;
209 static char const*
name() {
return "signing-account-delegates"; }
239 static char const*
option_name() {
return "domain-named-bucket"; }
244 using ComplexOption<
Scheme, std::string>::ComplexOption;
256 std::pair<std::string, std::string>> {
258 std::pair<std::string, std::string>>::ComplexOption;
263 : ComplexOption(std::make_pair(std::move(field), std::move(value))) {}
264 static char const*
name() {
return "extension_field"; }