@@ -8,23 +8,28 @@ class Response(object):
88 ERROR_FIELD_NAME = 'error'
99 EVENT_FIELD_NAME = 'event-name'
1010
11- def append_extra_fields (self , event_name , * args , ** kwargs ):
12- return {self .EVENT_FIELD_NAME : event_name }
11+ def __init__ (self , data = None , * args , ** kwargs ):
12+ super (Response , self ).__init__ ()
13+ self .data = data
1314
14- def from_error (self , error_type , message , event_name = None ):
15+ @classmethod
16+ def from_error (cls , error_type , message , event_name = None ):
1517 if isinstance (message , str ) and not message .endswith ('.' ):
1618 message = message + '.'
1719
1820 response = {
19- self .ERROR_FIELD_NAME : {
21+ cls .ERROR_FIELD_NAME : {
2022 "type" : error_type ,
2123 "message" : message
22- }
24+ },
25+ cls .EVENT_FIELD_NAME : event_name
2326 }
24- response .update (self .append_extra_fields (event_name ))
25- return response
27+ return cls (data = response )
2628
27- def wrap_content (self , data , event_name = None ):
28- response = {self .CONTENT_FIELD_NAME : data }
29- response .update (self .append_extra_fields (event_name ))
30- return response
29+ @classmethod
30+ def with_content (cls , data , event_name = None ):
31+ response = {
32+ cls .CONTENT_FIELD_NAME : data ,
33+ cls .EVENT_FIELD_NAME : event_name
34+ }
35+ return cls (data = response )
0 commit comments