Return a dictionary of information for a given request.

		This will be run once for every request.

def request_info(self, request):

		"""
		Return a dictionary of information for a given request.

		This will be run once for every request.
		"""

		# We have to re-resolve the request path here, because the information
		# is not stored on the request.
		view, args, kwargs = resolve(request.path)
		for i, arg in enumerate(args):
			kwargs[i] = arg

		parameters = {}
		parameters.update(kwargs)
		parameters.update(request.POST.items())

		environ = request.META

		return {
				"session": dict(request.session),
				'cookies': dict(request.COOKIES),
				'headers': dict(get_headers(environ)),
                'env': dict(get_environ(environ)),
				"remote_ip": request.META["REMOTE_ADDR"],
				"parameters": parameters,
				"action": view.__name__,
				"application": view.__module__,
				"method": request.method,
				"url": request.build_absolute_uri()
		}