Added logging ingo and examples on top of file dev/rest_api
authorLeonidas Poulopoulos <leopoul@noc.grnet.gr>
Tue, 14 Feb 2012 16:08:00 +0000 (18:08 +0200)
committerLeonidas Poulopoulos <leopoul@noc.grnet.gr>
Tue, 14 Feb 2012 16:08:00 +0000 (18:08 +0200)
rapi/api.py

index 0e9ee58..d6f5f67 100644 (file)
@@ -33,6 +33,14 @@ handler = logging.FileHandler(LOG_FILENAME)
 handler.setFormatter(formatter)
 logger.addHandler(handler)
 
+
+'''Usage example:
+GET all: curl --user username:APIKEY  --dump-header - -H "Content-Type: application/json" -X GET https://example.com/fod/api/v1/rule/?format=json
+GET rule_by_pk: curl --user username:APIKEY  --dump-header - -H "Content-Type: application/json" -X GET https://example.com/fod/api/v1/rule/{rule_pk}?format=json
+UPDATE RULE (PUT) : curl --user username:APIKEY  --dump-header - -H "Content-Type: application/json" -X PUT --data '{"comments": "", "destination": "", "destinationport": [{"port": "9090"}], "expires": "2012-02-21", "id": "11", "port": [], "source": "5.6.7.8/32", "sourceport": [{"port": "9090"}], "status": "ACTIVE", "then": [{"action": "discard", "action_value": ""}]}' https://example.com/fod/api/v1/rule/11/?format=json
+DELETE RULE: curl --user username:APIKEY  --dump-header - -H "Content-Type: application/json" -X DELETE https://example.com/fod/api/v1/rule/11/?format=json
+CREATE RULE (POST): curl --user username:APIKEY  --dump-header - -H "Content-Type: application/json" -X POST --data '{"name":"", "comments": "", "destination": "", "destinationport": [{"port": "9090"}], "expires": "2012-02-21", "port": [], "source": "5.6.7.8/32", "sourceport": [{"port": "9090"}], "status": "ACTIVE", "then": [{"action": "discard", "action_value": ""}]}' https://example.com/fod/api/v1/rule/?format=json 
+'''
 class SourcePortRes(ModelResource):
     class Meta:
         queryset = MatchPort.objects.all()
@@ -69,6 +77,7 @@ class RuleResource(ModelResource):
     port = fields.ManyToManyField(PortRes, 'port', full=True, null=True)
        
     def get_object_list(self, request):
+        logger.info('Got REST GET list request %s' %request)
         group_routes = []
         user = request.user
         peer = user.get_profile().peer
@@ -78,6 +87,7 @@ class RuleResource(ModelResource):
         return super(RuleResource, self).get_object_list(request).filter(applier__in=users)
     
     def obj_create(self, bundle, request=None, **kwargs):
+        logger.info('Got REST POST request %s' %kwargs)
         then_list = []
         sourceport_list = []
         destport_list = []
@@ -154,6 +164,7 @@ class RuleResource(ModelResource):
         return bundle
     
     def obj_delete(self, request=None, **kwargs):
+        logger.info('Got REST DELETE request %s' %kwargs)
         obj = kwargs.pop('pk', None)
         if obj:
             try:
@@ -186,6 +197,7 @@ class RuleResource(ModelResource):
         return http.HttpForbidden()
 
     def obj_update(self, bundle, request=None, **kwargs):
+        logger.info('Got REST PUT request %s' %kwargs)
         then_list = []
         sourceport_list = []
         destport_list = []