Mercurial > zeropaste
diff app/controllers/pastes_controller.rb @ 88:0f206bd4924f
Allows posting gzipped text.
author | Edho Arief <edho@myconan.net> |
---|---|
date | Tue, 06 Nov 2012 11:14:32 +0700 |
parents | 2fb80ca710e0 |
children | db5164ff73a9 |
line wrap: on
line diff
--- a/app/controllers/pastes_controller.rb Tue Nov 06 00:09:13 2012 +0700 +++ b/app/controllers/pastes_controller.rb Tue Nov 06 11:14:32 2012 +0700 @@ -36,9 +36,17 @@ # POST /pastes.txt def create @paste = Paste.new - if params[:paste] and not params[:paste][:paste].blank? - @paste.paste = params[:paste][:paste] - @paste.ip = request.remote_ip + if params[:paste] + if params[:paste][:paste_gzip_base64] + # 1. decode from base64 + # 2. create StringIO from decoded string + # 3. unzip and read the stream + params[:paste][:paste] = Zlib::GzipReader.new(StringIO.new(Base64.decode64(params[:paste][:paste_gzip_base64]))).read + end + unless params[:paste][:paste].blank? + @paste.paste = params[:paste][:paste] + @paste.ip = request.remote_ip + end end begin