Thanks for the swift replies, unfortunately I'm still having trouble getting it to play nicely with the upload module.
Here's the config I'm using: http://pastebin.com/GsrYHwj0
It seems as though the request body isn't being read correctly; ngx.req.get_body_data() works as expected if I run it from inside /upload and make a multipart post to it, but it only returns the first line of the body data when run from inside @handler. echo_request_body works fine either way.
Here's what I get when posting to it with the above config:
$ curl -F file=@TDXBN.gif http://localhost/upload
* post defs:
content_type: multipart/form-data; boundary=----------------------------ff78acc43147
maxinput: 2097152
content_length: 358
maxfilesize: 1048576
args:
* post args:
* request body:
------------------------------ff78acc43147
On a slightly different tack, I noticed one of the release announcements for ngx_echo showed this directive being used:
echo_subrequest PUT /some_upstream/$upload_file_md5 -f $upload_tmp_path
Is there something in particular you need to do to get access to $upload_tmp_path etc. outside of the upload_set_form_field directive? I've tried hacking this into working with echo_subrequest, but if i try to use any of the $upload_* variables anywhere outside of that directive then it doesn't work at all.