33// #include "external/rules_devserver/devserver/argparse/argparse.h"
44// #include "external/rules_devserver/devserver/httplib/httplib.h"
55// #include "external/rules_devserver/devserver/json/json.h"
6+ // #include "external/rules_devserver/devserver/md5/md5.h"
67
78#include " devserver/argparse/argparse.h"
89#include " devserver/httplib/httplib.h"
910#include " devserver/json/json.h"
11+ #include " devserver/md5/md5.h"
1012#include " tools/cpp/runfiles/runfiles.h"
1113
1214using bazel::tools::cpp::runfiles::Runfiles;
15+ using ::nlohmann::json;
1316
1417#define DEBUG true
1518#define DEBUG_LOG (msg ) \
@@ -33,6 +36,14 @@ std::string GetFileContents(const std::string &path) {
3336 return content;
3437}
3538
39+ json ComputeManifest () {
40+ json manifest;
41+
42+ manifest[" manifest" ] = {{" /" , " 123" }};
43+
44+ return manifest;
45+ }
46+
3647std::string GetDevserverLoaderScriptContents (
3748 const std::string &workspace_root) {
3849 const std::string devserver_loader_path =
@@ -49,7 +60,7 @@ std::string AddDevserverLoaderToStaticFileContents(
4960 const std::string &static_file_contents) {
5061 const std::regex re (" <\\ /head>" );
5162 const std::string replacement =
52- " <script src=\" /devserver_loader.js\" ></script></head>" ;
63+ " <script src=\" /devserver/ devserver_loader.js\" ></script></head>" ;
5364 std::string static_file_contents_with_devserver_loader =
5465 std::regex_replace (static_file_contents, re, replacement);
5566
@@ -135,11 +146,17 @@ int main(int argc, char **argv) {
135146 res.set_content (static_file_contents, " text/html" );
136147 });
137148
138- svr.Get (" /devserver_loader.js" , [&workspace_root](const httplib::Request &req,
139- httplib::Response &res) {
140- res.set_content (GetDevserverLoaderScriptContents (workspace_root),
141- " text/javascript" );
142- });
149+ svr.Get (
150+ " /devserver/devserver_loader.js" ,
151+ [&workspace_root](const httplib::Request &req, httplib::Response &res) {
152+ res.set_content (GetDevserverLoaderScriptContents (workspace_root),
153+ " text/javascript" );
154+ });
155+
156+ svr.Get (" /devserver/manifest" ,
157+ [](const httplib::Request &req, httplib::Response &res) {
158+ res.set_content (ComputeManifest ().dump (), " application/json" );
159+ });
143160
144161 svr.listen (kHost , port);
145162}
0 commit comments