diff options
| author | Dan Engelbrecht <[email protected]> | 2023-01-11 23:52:55 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-01-11 23:52:55 -0800 |
| commit | a24820cbbc3c032f2cfc7b4c3bf9cac0bbaaeb6c (patch) | |
| tree | 4c756826edc1839cdf894a995a8dc4e927f6bb65 /zenserver/projectstore.cpp | |
| parent | 0.2.1 (diff) | |
| download | zen-a24820cbbc3c032f2cfc7b4c3bf9cac0bbaaeb6c.tar.xz zen-a24820cbbc3c032f2cfc7b4c3bf9cac0bbaaeb6c.zip | |
Add info (GET) endpoints for structured cache (#211)
* Add GET requests on cache/namespace/bucket level
* Add root route for project store requests (same as /list)
* Add markerpath to oplog info object
* Add totalsize, opcount and expired to oplog info
* Changelog
Diffstat (limited to 'zenserver/projectstore.cpp')
| -rw-r--r-- | zenserver/projectstore.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/zenserver/projectstore.cpp b/zenserver/projectstore.cpp index 5c7de2a43..d1033dea1 100644 --- a/zenserver/projectstore.cpp +++ b/zenserver/projectstore.cpp @@ -1717,8 +1717,11 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects) m_Router.AddPattern("chunk", "([[:xdigit:]]{24})"); m_Router.AddPattern("hash", "([[:xdigit:]]{40})"); - // This would ideally just be the response for the root /prj endpoint but this is - // currently not possible for (arbitrary, external) technical reasons + m_Router.RegisterRoute( + "", + [this](HttpRouterRequest& Req) { Req.ServerRequest().WriteResponse(HttpResponseCode::OK, m_ProjectStore->GetProjectsList()); }, + HttpVerb::kGet); + m_Router.RegisterRoute( "list", [this](HttpRouterRequest& Req) { Req.ServerRequest().WriteResponse(HttpResponseCode::OK, m_ProjectStore->GetProjectsList()); }, @@ -2485,7 +2488,9 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects) ProjectStore::Oplog& Log = *OplogIt; CbObjectWriter Cb; - Cb << "id"sv << Log.OplogId() << "project"sv << Project->Identifier << "tempdir"sv << Log.TempPath().c_str(); + Cb << "id"sv << Log.OplogId() << "project"sv << Project->Identifier << "tempdir"sv << Log.TempPath().c_str() + << "markerpath"sv << Log.MarkerPath().c_str() << "totalsize"sv << Log.TotalSize() << "opcount" + << Log.OplogCount() << "expired"sv << Log.IsExpired(); Req.ServerRequest().WriteResponse(HttpResponseCode::OK, Cb.Save()); } |