cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
middleware.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 # @COPYRIGHT_begin
3 #
4 # Copyright [2010-2014] Institute of Nuclear Physics PAN, Krakow, Poland
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # @COPYRIGHT_end
19 
20 ##
21 # @package src.wi.recaptcha_django.middleware
22 #
23 
24 
25 ##
26 #
27 # A tiny middleware to automatically add IP address to ReCaptcha POST requests.
28 #
29 class ReCaptchaMiddleware(object):
30  ##
31  #
32  # Adds recaptcha keys to POST.
33  #
34  def process_request(self, request):
35  if request.method == 'POST' and \
36  'recaptcha_challenge_field' in request.POST and \
37  'recaptcha_ip_field' not in request.POST:
38  data = request.POST.copy()
39  data['recaptcha_ip_field'] = request.META['REMOTE_ADDR']
40  request.POST = data
41