26#if ! defined (octave_url_transfer_h)
27#define octave_url_transfer_h 1
29#include "octave-config.h"
74 bool is_valid ()
const {
return m_valid; }
76 bool good ()
const {
return m_valid && m_ok; }
80 virtual std::string
lasterror ()
const {
return m_errmsg; }
84 return *m_curr_ostream;
89 return *m_curr_istream;
96 bool is_ascii ()
const {
return m_ascii_mode; }
100 virtual void cwd (
const std::string& ) { }
102 virtual void del (
const std::string& ) { }
104 virtual void rmdir (
const std::string& ) { }
106 virtual void mkdir (
const std::string& ) { }
108 virtual void rename (
const std::string& ,
109 const std::string& ) { }
111 virtual void put (
const std::string& ,
114 virtual void get (
const std::string& ,
117 void mget_directory (
const std::string& directory,
118 const std::string& target);
121 const std::string& directory);
132 virtual std::string
pwd () {
return ""; }
139 const std::string& ) { }
168 url_transfer (
const std::string& host,
const std::string& user,
169 const std::string& passwd, std::ostream& os);
171 url_transfer (
const std::string& url, std::ostream& os);
179 bool is_valid ()
const {
return m_rep->is_valid (); }
181 bool good ()
const {
return m_rep->good (); }
183 std::string
lasterror ()
const {
return m_rep->lasterror (); }
187 return m_rep->set_ostream (os);
192 return m_rep->set_istream (is);
199 bool is_ascii ()
const {
return m_rep->is_ascii (); }
203 void cwd (
const std::string& path) { m_rep->cwd (path); }
205 void del (
const std::string& file) { m_rep->del (file); }
207 void rmdir (
const std::string& path) { m_rep->rmdir (path); }
209 void mkdir (
const std::string& path) { m_rep->mkdir (path); }
211 void rename (
const std::string& oldname,
const std::string& newname)
213 m_rep->rename (oldname, newname);
216 void put (
const std::string& file, std::istream& is)
218 m_rep->put (file, is);
221 void get (
const std::string& file, std::ostream& os)
223 m_rep->get (file, os);
227 const std::string& target)
229 m_rep->mget_directory (directory, target);
233 const std::string& directory)
235 return m_rep->mput_directory (base, directory);
238 void dir () { m_rep->dir (); }
243 OCTAVE_TIME_T& filetime,
bool& fileisdir)
245 m_rep->get_fileinfo (filename, filesize, filetime, fileisdir);
248 std::string
pwd () {
return m_rep->pwd (); }
252 m_rep->http_get (param);
257 m_rep->http_post (param);
261 const std::string& action)
263 m_rep->http_action (param, action);
268 m_rep->cookie_jar (filename);
273 m_rep->set_header_fields (param);
278 m_rep->form_data_post (param);
283 m_rep->set_weboptions (param);
288 std::shared_ptr<base_url_transfer> m_rep;
291OCTAVE_END_NAMESPACE(octave)
N Dimensional Array with copy-on-write semantics.
virtual std::ostream & set_ostream(std::ostream &)
virtual void http_get(const Array< std::string > &)
virtual void rename(const std::string &, const std::string &)
std::string m_host_or_url
virtual std::istream & set_istream(std::istream &)
virtual void form_data_post(const Array< std::string > &)
virtual void get(const std::string &, std::ostream &)
virtual void set_weboptions(const struct weboptions &)
virtual void put(const std::string &, std::istream &)
virtual void set_header_fields(const Array< std::string > &)
virtual void cwd(const std::string &)
virtual std::string pwd()
virtual void cookie_jar(const std::string &)
virtual void del(const std::string &)
std::istream * m_curr_istream
virtual string_vector list()
virtual void http_post(const Array< std::string > &)
virtual void get_fileinfo(const std::string &, double &, OCTAVE_TIME_T &, bool &)
std::ostream * m_curr_ostream
virtual void http_action(const Array< std::string > &, const std::string &)
virtual void rmdir(const std::string &)
virtual void mkdir(const std::string &)
virtual std::string lasterror() const
void put(const std::string &file, std::istream &is)
void get_fileinfo(const std::string &filename, double &filesize, OCTAVE_TIME_T &filetime, bool &fileisdir)
std::ostream & set_ostream(std::ostream &os)
void get(const std::string &file, std::ostream &os)
void http_post(const Array< std::string > ¶m)
void cwd(const std::string &path)
void set_header_fields(const Array< std::string > ¶m)
void set_weboptions(const struct weboptions ¶m)
void http_get(const Array< std::string > ¶m)
void mkdir(const std::string &path)
string_vector mput_directory(const std::string &base, const std::string &directory)
std::string lasterror() const
std::istream & set_istream(std::istream &is)
void http_action(const Array< std::string > ¶m, const std::string &action)
void mget_directory(const std::string &directory, const std::string &target)
url_transfer(const url_transfer &)=default
void cookie_jar(const std::string &filename)
void rmdir(const std::string &path)
void del(const std::string &file)
void rename(const std::string &oldname, const std::string &newname)
void form_data_post(const Array< std::string > ¶m)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::string ContentReader
std::string RequestMethod
Array< std::string > HeaderFields
std::string CertificateFilename
std::string CharacterEncoding