84 if (arguments.
peek(
"memory"))
86 else if (arguments.
peek(
"server"))
88 else if (arguments.
peek(
"interpreted"))
90 bool readonly =
false;
94 else if (arguments.
peek(
"--read"))
97 const std::string_view file_name = arguments.
get_next();
101 out <<
"Opening interpreted file... ";
112 else if (arguments.
peek(
"sftp"))
114 std::string_view port_string;
115 if (arguments.
peek(
"--port"))
118 std::string_view verbosity_string;
119 if (arguments.
peek(
"--verbosity"))
120 verbosity_string = arguments.
get_next();
122 const std::string_view user = arguments.
get_next();
123 const std::string_view host = arguments.
get_next();
124 const std::string_view file_name = arguments.
get_next();
130 if (port_string.data())
131 port = uint16_t(std::atoi(port_string.data()));
134 if (verbosity_string.data())
135 verbosity = std::atoi(verbosity_string.data());
137 out <<
"Creating ssh Session... ";
139 ssh_session.emplace(user.data(), host.data(), port, verbosity);
141 out <<
"OK\nInitializing sftp... ";
143 sftp.emplace(*ssh_session);
145 out <<
"OK\nOpening file... ";
147 file.reset(
new SFTP_File(*sftp, file_name.data()));
153 else if (arguments.
peek(
"curl"))
155 const bool verbose = arguments.
peek(
"--verbose");
156 const std::string_view url = arguments.
get_next();
161 file.reset(
new CURL_File(url.data(), verbose));
164#ifdef JOEDB_HAS_BROTLI
165 else if (arguments.
peek(
"brotli"))
167 bool readonly =
false;
171 else if (arguments.
peek(
"--read"))
174 const std::string_view file_name = arguments.
get_next();
179 out <<
"Opening brotli file... ";
192 arguments.
peek(
"file");
198 for (
size_t i = 0; i < open_modes; i++)
204 if (arguments.
peek(option.data()))
209 const std::string_view file_name = arguments.
get_next();
214 out <<
"Opening local file (open_mode = ";
217 file.reset(
new File(file_name.data(), open_mode));