MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / performZooKeeperSetRequest

Method performZooKeeperSetRequest

src/Server/KeeperHTTPStorageHandler.cpp:217–236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

215}
216
217void KeeperHTTPStorageHandler::performZooKeeperSetRequest(
218 const std::string & storage_path, HTTPServerRequest & request, HTTPServerResponse & response) const
219{
220 const auto maybe_request_version = getVersionFromRequest(request);
221 if (!maybe_request_version.has_value())
222 {
223 response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_BAD_REQUEST, "Version parameter is not set or invalid.");
224 *response.send() << "Version parameter is not set or invalid for set request.\n";
225 return;
226 }
227
228 const auto error = keeper_client->get()->trySet(storage_path, getRawBytesFromRequest(request, keeper_context), maybe_request_version.value());
229
230 if (setErrorResponseForZKCode(error, response))
231 return;
232
233 response.setStatus(Poco::Net::HTTPResponse::HTTP_OK);
234 response.setContentType("text/plain");
235 *response.send() << "OK\n";
236}
237
238void KeeperHTTPStorageHandler::performZooKeeperCreateRequest(
239 const std::string & storage_path, HTTPServerRequest & request, HTTPServerResponse & response) const

Callers

nothing calls this directly

Calls 10

getVersionFromRequestFunction · 0.85
getRawBytesFromRequestFunction · 0.85
setStatusAndReasonMethod · 0.80
sendMethod · 0.45
trySetMethod · 0.45
getMethod · 0.45
valueMethod · 0.45
setStatusMethod · 0.45
setContentTypeMethod · 0.45

Tested by

no test coverage detected