summaryrefslogtreecommitdiff
path: root/src/mongo/db/initialize_api_parameters.h
diff options
context:
space:
mode:
authorPV99 <pridhvi.vegesna@mongodb.com>2020-07-14 22:34:25 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-17 00:43:31 +0000
commitcfd99814027a4972be64742b3dd3de2695c88b84 (patch)
tree8f5ad9ad0a3a08d8053a2bfb0f0d947dcac8dccb /src/mongo/db/initialize_api_parameters.h
parent8b9af875a947b862c6bf82754ae7eaf582a9ab3f (diff)
downloadmongo-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.h44
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