diff --git a/11/nginx.conf b/11/nginx.conf index 7e7bdae..52dc444 100644 --- a/11/nginx.conf +++ b/11/nginx.conf @@ -25,23 +25,26 @@ http { publickey = Nginx::Var.new.publickey privatekey = Nginx::Var.new.privatekey - if arg_publickey && arg_publickey.match(publickey) || !arg_expires - Nginx.return Nginx::HTTP_FORBIDDEN - end - - plaintext = "#{Nginx::Var.new.request_method}#{Nginx::Var.new.uri}#{arg_expires}#{publickey}" - hmac_sha1 = Digest::HMAC.digest(plaintext, privatekey, Digest::SHA1) - signature = Base64::encode(hmac_sha1) - - if expires < Time.now.to_i - Nginx.return Nginx::HTTP_FORBIDDEN - end - - if signature == arg_signature - Nginx.echo "Sucess" - else - Nginx.return Nginx::HTTP_FORBIDDEN - end + Nginx.return -> do + if arg_publickey && arg_publickey.match(publickey) || !arg_expires + return Nginx::HTTP_FORBIDDEN + end + + plaintext = "#{Nginx::Var.new.request_method}#{Nginx::Var.new.uri}#{arg_expires}#{publickey}" + hmac_sha1 = Digest::HMAC.digest(plaintext, privatekey, Digest::SHA1) + signature = Base64::encode(hmac_sha1) + + if expires < Time.now.to_i + return Nginx::HTTP_FORBIDDEN + end + + if signature == arg_signature + Nginx.echo "Sucess" + return Nginx::HTTP_OK + else + return Nginx::HTTP_FORBIDDEN + end + end.call '; } }