def _discover_requesting_party(self, request):
user_id = None<EOL>api_key = request.headers.get('<STR_LIT>', None)<EOL>try:<EOL><INDENT>principal_info = self.user_info_by_key[api_key]<EOL><DEDENT>except KeyError:<EOL><INDENT>principal_info = None<EOL><DEDENT>if principal_info is not None:<EOL><INDENT>user_id = principal_info['<STR_LIT>']<EOL><DEDENT>return api_key, user_id, principal_info<EOL>
With the request object, discover who is making the request.
        Returns both the api-key and the principal-id