-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upload file to get HttpResponseTag 401 #83
Comments
This is an "access denied" error from the server. I suppose the server doesn't let you upload a file that large. |
Hi nestal Excuse me, I have a other question about Resuming an incomplete upload, is the grive supporting this ? https://developers.google.com/google-apps/documents-list/#resuming_an_incomplete_upload Thank your reply. |
Currently grive is too stupid that it read the whole file to memory. In your case it just allocate 2G or memory and load the file to it. It is quite crazy and I plan to change it in the future. |
See also #88 |
Hi
I tried to modify code to upload over 2G file, it is work now. But I often to get 401 from server which will crash and can't go on.
sync "./2.3G" doesn't exist in server, uploading
pooh.sizeleftllu = 2306867200
sync "./2.2M" doesn't exist in server, uploading
pooh.sizeleftllu = 2245741
exception: /root/host/NasX86/SysUtil/Grive-grive-v0.1.1-20-g277274f/libgrive/src/http/CurlAgent.cc(164): Throw in function long int gr::http::CurlAgent::ExecCurl(const std::string&, gr::http::Receivable_, const gr::http::Header&)
Dynamic exception type: boost::exception_detail::clone_implgr::http::Error
std::exception::what: std::exception
[gr::expt::MsgTag_] =
[gr::http::CurlCodeTag_] = 0
[gr::http::HttpResponseTag_] = 401
[gr::http::UrlTag_] = https://docs.google.com/feeds/upload/create-session/default/private/full?convert=false
[gr::http::HeaderTag_] = Authorization: Bearer ya29.AHES6ZQcf5lIIt2q_SrHm7FoNQrz9m9Uf40t9bwkridoQOo_
GData-Version: 3.0
Content-Type: application/atom+xml
X-Upload-Content-Type: application/octet-stream
X-Upload-Content-Length: 2245741
If-Match:
Expect:
[gr::expt::BacktraceTag*] = #0 0xd15f0 crtstuff.c:0 gr::Exception::Exception()
#1 0xbdc38 crtstuff.c:0 gr::http::Error::Error()
#2 0xb9e30 crtstuff.c:0 gr::http::CurlAgent::ExecCurl(std::string const&, gr::http::Receivable*, gr::http::Header const&)
#3 0xba7a8 crtstuff.c:0 gr::http::CurlAgent::Post(std::string const&, std::string const&, gr::http::Receivable*, gr::http::Header const&)
#4 0xb14cc crtstuff.c:0 gr::Resource::Upload(gr::http::Agent*, std::string const&, gr::http::Header const&, bool)
#5 0xb1fb4 crtstuff.c:0 gr::Resource::Create(gr::http::Agent*, gr::http::Header const&)
#6 0xb2790 crtstuff.c:0 gr::Resource::SyncSelf(gr::http::Agent*, gr::http::Header const&)
#7 0xb2d48 crtstuff.c:0 gr::Resource::Sync(gr::http::Agent*, gr::http::Header const&)
#8 0xb3b78 crtstuff.c:0 boost::mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>::operator()(gr::Resource, gr::http::Agent_, gr::http::Header const&) const
#9 0xb3ddc crtstuff.c:0 void boost::_bi::list3boost::arg<1, boost::_bi::valuegr::http::Agent*, boost::_bi::valuegr::http::Header >::operator()<boost::_mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>, boost::_bi::list1gr::Resource*& >(boost::_bi::type, boost::_mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>&, boost::_bi::list1gr::Resource*&&, int)
#10 0xb3e3c crtstuff.c:0 void boost::_bi::bind_t<void, boost::_mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>, boost::_bi::list3boost::arg<1, boost::_bi::valuegr::http::Agent*, boost::_bi::valuegr::http::Header > >::operator()gr::Resource*(gr::Resource*&)
#11 0xb463c crtstuff.c:0 boost::_bi::bind_t<void, boost::_mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>, boost::_bi::list3boost::arg<1, boost::_bi::valuegr::http::Agent*, boost::_bi::valuegr::http::Header > > std::for_each<__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>, boost::_bi::list3boost::arg<1, boost::_bi::valuegr::http::Agent*, boost::_bi::valuegr::http::Header > > >(__gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, __gnu_cxx::__normal_iterator<gr::Resource**, std::vector<gr::Resource*, std::allocatorgr::Resource* > >, boost::_bi::bind_t<void, boost::_mfi::mf2<void, gr::Resource, gr::http::Agent*, gr::http::Header const&>, boost::_bi::list3boost::arg<1, boost::_bi::valuegr::http::Agent*, boost::_bi::valuegr::http::Header > >)
#12 0xb2dfc crtstuff.c:0 gr::Resource::Sync(gr::http::Agent*, gr::http::Header const&)
#13 0xa5cf0 crtstuff.c:0 gr::State::Sync(gr::http::Agent*, gr::http::Header const&)
#14 0x9f22c crtstuff.c:0 gr::Drive::Update()
#15 0x7c798 crtstuff.c:0 Main(int, char**)
#16 0x7c9d4 crtstuff.c:0 main
#17 0x403e3924 /lib/libc.so.6 __libc_start_main
#18 0x7a5e0 crtstuff.c:0 _start
The text was updated successfully, but these errors were encountered: