Exemple #1
0
 def _get_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, 'path') else path_url(request.url)
     function_name = path.split('/')[-2]
     if self.lambda_backend.get_function(function_name):
         lambda_function = self.lambda_backend.get_function(function_name)
         return 200, {}, json.dumps(dict(Policy="{\"Statement\":[" + lambda_function.policy + "]}"))
     else:
         return 404, {}, "{}"
Exemple #2
0
 def _get_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, "path") else path_url(request.url)
     function_name = path.split("/")[-2]
     if self.lambda_backend.get_function(function_name):
         out = self.lambda_backend.get_policy_wire_format(function_name)
         return 200, {}, out
     else:
         return 404, {}, "{}"
Exemple #3
0
 def _get_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, 'path') else path_url(request.url)
     function_name = path.split('/')[-2]
     if self.lambda_backend.get_function(function_name):
         lambda_function = self.lambda_backend.get_function(function_name)
         return 200, {}, json.dumps(dict(Policy="{\"Statement\":[" + lambda_function.policy + "]}"))
     else:
         return 404, {}, "{}"
Exemple #4
0
 def _add_policy(self, request):
     path = request.path if hasattr(request, "path") else path_url(
         request.url)
     function_name = unquote(path.split("/")[-2])
     qualifier = self.querystring.get("Qualifier", [None])[0]
     statement = self.body
     self.lambda_backend.add_permission(function_name, qualifier, statement)
     return 200, {}, json.dumps({"Statement": statement})
Exemple #5
0
    def resource_callback(self, request):
        path = path_url(request.url)
        path_after_stage_name = "/".join(path.split("/")[2:])
        if not path_after_stage_name:
            path_after_stage_name = "/"

        resource = self.get_resource_for_path(path_after_stage_name)
        status_code, response = resource.get_response(request)
        return status_code, {}, response
Exemple #6
0
 def _add_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, 'path') else path_url(request.url)
     function_name = path.split('/')[-2]
     if self.lambda_backend.get_function(function_name):
         policy = request.body.decode('utf8')
         self.lambda_backend.add_policy(function_name, policy)
         return 200, {}, json.dumps(dict(Statement=policy))
     else:
         return 404, {}, "{}"
Exemple #7
0
 def _add_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, 'path') else path_url(request.url)
     function_name = path.split('/')[-2]
     if self.lambda_backend.get_function(function_name):
         policy = request.body.decode('utf8')
         self.lambda_backend.add_policy(function_name, policy)
         return 200, {}, json.dumps(dict(Statement=policy))
     else:
         return 404, {}, "{}"
Exemple #8
0
 def _add_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, "path") else path_url(request.url)
     function_name = path.split("/")[-2]
     if self.lambda_backend.get_function(function_name):
         statement = self.body
         self.lambda_backend.add_policy_statement(function_name, statement)
         return 200, {}, json.dumps({"Statement": statement})
     else:
         return 404, {}, "{}"
Exemple #9
0
    def resource_callback(self, request):
        path = path_url(request.url)
        path_after_stage_name = '/'.join(path.split("/")[2:])
        if not path_after_stage_name:
            path_after_stage_name = '/'

        resource = self.get_resource_for_path(path_after_stage_name)
        status_code, response = resource.get_response(request)
        return status_code, {}, response
Exemple #10
0
 def _del_policy(self, request, full_url, headers, querystring):
     path = request.path if hasattr(request, "path") else path_url(request.url)
     function_name = path.split("/")[-3]
     statement_id = path.split("/")[-1].split("?")[0]
     revision = querystring.get("RevisionId", "")
     if self.lambda_backend.get_function(function_name):
         self.lambda_backend.remove_permission(function_name, statement_id, revision)
         return 204, {}, "{}"
     else:
         return 404, {}, "{}"
Exemple #11
0
 def event_source_mapping(self, request, full_url, headers):
     self.setup_class(request, full_url, headers)
     path = request.path if hasattr(request, "path") else path_url(request.url)
     uuid = path.split("/")[-1]
     if request.method == "GET":
         return self._get_event_source_mapping(uuid)
     elif request.method == "PUT":
         return self._update_event_source_mapping(uuid)
     elif request.method == "DELETE":
         return self._delete_event_source_mapping(uuid)
     else:
         raise ValueError("Cannot handle request")
Exemple #12
0
    def versions(self, request, full_url, headers):
        self.setup_class(request, full_url, headers)
        if request.method == 'GET':
            # This is ListVersionByFunction

            path = request.path if hasattr(request, 'path') else path_url(request.url)
            function_name = path.split('/')[-2]
            return self._list_versions_by_function(function_name)

        elif request.method == 'POST':
            return self._publish_function(request, full_url, headers)
        else:
            raise ValueError("Cannot handle request")
Exemple #13
0
    def versions(self, request, full_url, headers):
        self.setup_class(request, full_url, headers)
        if request.method == 'GET':
            # This is ListVersionByFunction

            path = request.path if hasattr(request, 'path') else path_url(request.url)
            function_name = path.split('/')[-2]
            return self._list_versions_by_function(function_name)

        elif request.method == 'POST':
            return self._publish_function(request, full_url, headers)
        else:
            raise ValueError("Cannot handle request")
Exemple #14
0
 def _get_policy(self, request, full_url, headers):
     path = request.path if hasattr(request, "path") else path_url(
         request.url)
     function_name = path.split("/")[-2]
     if self.lambda_backend.get_function(function_name):
         lambda_function = self.lambda_backend.get_function(function_name)
         return (
             200,
             {},
             json.dumps(
                 dict(Policy='{"Statement":[' + lambda_function.policy +
                      "]}")),
         )
     else:
         return 404, {}, "{}"
Exemple #15
0
 def _get_policy(self, request):
     path = request.path if hasattr(request, "path") else path_url(
         request.url)
     function_name = unquote(path.split("/")[-2])
     out = self.lambda_backend.get_policy(function_name)
     return 200, {}, out