diff options
author | PV99 <pridhvi.vegesna@mongodb.com> | 2020-07-14 22:34:25 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-07-17 00:43:31 +0000 |
commit | cfd99814027a4972be64742b3dd3de2695c88b84 (patch) | |
tree | 8f5ad9ad0a3a08d8053a2bfb0f0d947dcac8dccb /src/mongo/db/initialize_api_parameters.h | |
parent | 8b9af875a947b862c6bf82754ae7eaf582a9ab3f (diff) | |
download | mongo-cfd99814027a4972be64742b3dd3de2695c88b84.tar.gz |
SERVER-48877 Create an APIParameters class
Diffstat (limited to 'src/mongo/db/initialize_api_parameters.h')
-rw-r--r-- | src/mongo/db/initialize_api_parameters.h | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/src/mongo/db/initialize_api_parameters.h b/src/mongo/db/initialize_api_parameters.h index 69d216fc7cc..a8c1ee141e4 100644 --- a/src/mongo/db/initialize_api_parameters.h +++ b/src/mongo/db/initialize_api_parameters.h @@ -30,6 +30,7 @@ #pragma once #include "mongo/db/initialize_api_parameters_gen.h" +#include "mongo/db/operation_context.h" namespace mongo { @@ -37,6 +38,47 @@ namespace mongo { * Parses a command's API Version parameters from a request and stores the apiVersion, apiStrict, * and apiDeprecationErrors fields. */ -APIParametersFromClient initializeAPIParameters(const BSONObj& requestBody); +const APIParametersFromClient initializeAPIParameters(const BSONObj& requestBody); + +/** + * Decorates operation context with methods to retrieve apiVersion, apiStrict, and + * apiDeprecationErrors. + */ +class APIParameters { + +public: + APIParameters(); + static APIParameters& get(OperationContext* opCtx); + static APIParameters fromClient(const APIParametersFromClient& apiParamsFromClient); + + const StringData getAPIVersion() const { + return _apiVersion; + } + + void setAPIVersion(StringData apiVersion) { + _apiVersion = apiVersion; + } + + const bool getAPIStrict() const { + return _apiStrict; + } + + void setAPIStrict(bool apiStrict) { + _apiStrict = apiStrict; + } + + const bool getAPIDeprecationErrors() const { + return _apiDeprecationErrors; + } + + void setAPIDeprecationErrors(bool apiDeprecationErrors) { + _apiDeprecationErrors = apiDeprecationErrors; + } + +private: + StringData _apiVersion; + bool _apiStrict; + bool _apiDeprecationErrors; +}; } // namespace mongo
\ No newline at end of file |