[google-appengine] Re: Upload works locally but not on server.
Adam -- How were you able to modify the post header? I'm experiencing the same issue and am using the slim3 mvc framework. Thanks, Brian On Jul 14, 10:03 pm, adam adus...@gmail.com wrote: I was able to solve this. The parser in production GAE is more sensitive than the one in the development environment, and the one in production provides no useful information to the user about why it fails. This is a known issue:http://code.google.com/p/googleappengine/issues/detail?id=3273 for the bug report. The reason the upload was failing on the server was because one of the form fields was missing a \r\n: --jtmyobpmsbvkwefmrarmjuescosjfuxm Content-Disposition: form-data; name=recording_time 3 is correct, whereas --jtmyobpmsbvkwefmrarmjuescosjfuxm Content-Disposition: form-data; name=recording_time 3 is not. The latter succeeds in the development environment, whereas it fails in production GAE. It took a couple hours of debugging to get to this conclusion -- it would be nice if GAE blobstore reported POST parsing errors in some way. Adam On Jul 14, 12:54 pm, adam adus...@gmail.com wrote: Just a bit more data: it's clear to me that the upload URL isn't being caught by the WSGIApplication on the server. I know this because when I insert a catch-all url path pattern, the upload POST request hits that handler instead of the BlobstoreUploadHandler. My WSGIApplication is instantiated like this: application = webapp.WSGIApplication( [ ('/', MainPage), ('/upload', UploadHandler), ('/upload_key/([^/]+)', UploadKeyHandler)], debug=True) Again, POST requests to URLs generated by blobstore.create_upload_url('/upload') are not hitting UploadHandler. Thanks again, Adam On Jul 14, 12:50 pm, adam adus...@gmail.com wrote: Hi, I have an app that allows me upload to the blobstore locally but fails on the server. I get an upload url using blobstore.create_upload_url('/upload'), just like the example provided by google. When running the app locally, this works. However, when I run it on GAE, I get a 503; seehttp://grab.by/axFo. In case it helps the engineers to debug, here's the URL: http://www.recordmp3.org/_ah/upload/AMmfu6bsVT68mSvZqDM85D324uLxM39c-... Thank you, Adam -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Upload works locally but not on server.
Hi Brian, There is a blobstore sample using slim3: http://slim3demo.appspot.com/blobstore/ Yasuo Higa On Fri, Aug 26, 2011 at 9:37 PM, Brian brian...@gmail.com wrote: Adam -- How were you able to modify the post header? I'm experiencing the same issue and am using the slim3 mvc framework. Thanks, Brian On Jul 14, 10:03 pm, adam adus...@gmail.com wrote: I was able to solve this. The parser in production GAE is more sensitive than the one in the development environment, and the one in production provides no useful information to the user about why it fails. This is a known issue:http://code.google.com/p/googleappengine/issues/detail?id=3273 for the bug report. The reason the upload was failing on the server was because one of the form fields was missing a \r\n: --jtmyobpmsbvkwefmrarmjuescosjfuxm Content-Disposition: form-data; name=recording_time 3 is correct, whereas --jtmyobpmsbvkwefmrarmjuescosjfuxm Content-Disposition: form-data; name=recording_time 3 is not. The latter succeeds in the development environment, whereas it fails in production GAE. It took a couple hours of debugging to get to this conclusion -- it would be nice if GAE blobstore reported POST parsing errors in some way. Adam On Jul 14, 12:54 pm, adam adus...@gmail.com wrote: Just a bit more data: it's clear to me that the upload URL isn't being caught by the WSGIApplication on the server. I know this because when I insert a catch-all url path pattern, the upload POST request hits that handler instead of the BlobstoreUploadHandler. My WSGIApplication is instantiated like this: application = webapp.WSGIApplication( [ ('/', MainPage), ('/upload', UploadHandler), ('/upload_key/([^/]+)', UploadKeyHandler)], debug=True) Again, POST requests to URLs generated by blobstore.create_upload_url('/upload') are not hitting UploadHandler. Thanks again, Adam On Jul 14, 12:50 pm, adam adus...@gmail.com wrote: Hi, I have an app that allows me upload to the blobstore locally but fails on the server. I get an upload url using blobstore.create_upload_url('/upload'), just like the example provided by google. When running the app locally, this works. However, when I run it on GAE, I get a 503; seehttp://grab.by/axFo. In case it helps the engineers to debug, here's the URL: http://www.recordmp3.org/_ah/upload/AMmfu6bsVT68mSvZqDM85D324uLxM39c-... Thank you, Adam -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Upload works locally but not on server.
Just a bit more data: it's clear to me that the upload URL isn't being caught by the WSGIApplication on the server. I know this because when I insert a catch-all url path pattern, the upload POST request hits that handler instead of the BlobstoreUploadHandler. My WSGIApplication is instantiated like this: application = webapp.WSGIApplication( [ ('/', MainPage), ('/upload', UploadHandler), ('/upload_key/([^/]+)', UploadKeyHandler)], debug=True) Again, POST requests to URLs generated by blobstore.create_upload_url('/upload') are not hitting UploadHandler. Thanks again, Adam On Jul 14, 12:50 pm, adam adus...@gmail.com wrote: Hi, I have an app that allows me upload to the blobstore locally but fails on the server. I get an upload url using blobstore.create_upload_url('/upload'), just like the example provided by google. When running the app locally, this works. However, when I run it on GAE, I get a 503; seehttp://grab.by/axFo. In case it helps the engineers to debug, here's the URL: http://www.recordmp3.org/_ah/upload/AMmfu6bsVT68mSvZqDM85D324uLxM39c-... Thank you, Adam -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Upload works locally but not on server.
I was able to solve this. The parser in production GAE is more sensitive than the one in the development environment, and the one in production provides no useful information to the user about why it fails. This is a known issue: http://code.google.com/p/googleappengine/issues/detail?id=3273 for the bug report. The reason the upload was failing on the server was because one of the form fields was missing a \r\n: --jtmyobpmsbvkwefmrarmjuescosjfuxm Content-Disposition: form-data; name=recording_time 3 is correct, whereas --jtmyobpmsbvkwefmrarmjuescosjfuxm Content-Disposition: form-data; name=recording_time 3 is not. The latter succeeds in the development environment, whereas it fails in production GAE. It took a couple hours of debugging to get to this conclusion -- it would be nice if GAE blobstore reported POST parsing errors in some way. Adam On Jul 14, 12:54 pm, adam adus...@gmail.com wrote: Just a bit more data: it's clear to me that the upload URL isn't being caught by the WSGIApplication on the server. I know this because when I insert a catch-all url path pattern, the upload POST request hits that handler instead of the BlobstoreUploadHandler. My WSGIApplication is instantiated like this: application = webapp.WSGIApplication( [ ('/', MainPage), ('/upload', UploadHandler), ('/upload_key/([^/]+)', UploadKeyHandler)], debug=True) Again, POST requests to URLs generated by blobstore.create_upload_url('/upload') are not hitting UploadHandler. Thanks again, Adam On Jul 14, 12:50 pm, adam adus...@gmail.com wrote: Hi, I have an app that allows me upload to the blobstore locally but fails on the server. I get an upload url using blobstore.create_upload_url('/upload'), just like the example provided by google. When running the app locally, this works. However, when I run it on GAE, I get a 503; seehttp://grab.by/axFo. In case it helps the engineers to debug, here's the URL: http://www.recordmp3.org/_ah/upload/AMmfu6bsVT68mSvZqDM85D324uLxM39c-... Thank you, Adam -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.