#include "HTTPFileRequest.hxx"
#include <simgear/debug/logstream.hxx>
+#include <simgear/misc/sg_path.hxx>
namespace simgear
{
{
Request::responseHeadersComplete();
+ if( responseCode() != 200 )
+ return setFailure(responseCode(), responseReason());
+
if( !_filename.empty() )
+ {
// TODO validate path? (would require to expose fgValidatePath somehow to
// simgear)
+ SGPath path(_filename);
+ path.create_dir(0755);
+
_file.open(_filename.c_str(), std::ios::binary | std::ios::trunc);
+ }
if( !_file )
{
SG_WARN,
"HTTP::FileRequest: failed to open file '" << _filename << "'"
);
-
- abort("Failed to open file.");
}
}
SG_LOG
(
SG_IO,
- SG_WARN,
- "HTTP::FileRequest: error writing to '" << _filename << "'"
+ SG_DEBUG,
+ "HTTP::FileRequest: received data for closed file '" << _filename << "'"
);
return;
}