@@ -90,7 +90,7 @@ def __init__(self, api_key, url=GCM_URL, proxy=None):
9090
9191
9292 def construct_payload (self , registration_ids , data = None , collapse_key = None ,
93- delay_while_idle = False , time_to_live = None , is_json = True ):
93+ delay_while_idle = False , time_to_live = None , is_json = True , dry_run = False ):
9494 """
9595 Construct the dictionary mapping of parameters.
9696 Encodes the dictionary into JSON if for json requests.
@@ -125,6 +125,9 @@ def construct_payload(self, registration_ids, data=None, collapse_key=None,
125125 if collapse_key :
126126 payload ['collapse_key' ] = collapse_key
127127
128+ if dry_run :
129+ payload ['dry_run' ] = True
130+
128131 if is_json :
129132 payload = json .dumps (payload )
130133
@@ -215,7 +218,7 @@ def extract_unsent_reg_ids(self, info):
215218 return []
216219
217220 def plaintext_request (self , registration_id , data = None , collapse_key = None ,
218- delay_while_idle = False , time_to_live = None , retries = 5 ):
221+ delay_while_idle = False , time_to_live = None , retries = 5 , dry_run = False ):
219222 """
220223 Makes a plaintext request to GCM servers
221224
@@ -230,7 +233,7 @@ def plaintext_request(self, registration_id, data=None, collapse_key=None,
230233
231234 payload = self .construct_payload (
232235 registration_id , data , collapse_key ,
233- delay_while_idle , time_to_live , False
236+ delay_while_idle , time_to_live , False , dry_run
234237 )
235238
236239 attempt = 0
@@ -248,7 +251,7 @@ def plaintext_request(self, registration_id, data=None, collapse_key=None,
248251 raise IOError ("Could not make request after %d attempts" % attempt )
249252
250253 def json_request (self , registration_ids , data = None , collapse_key = None ,
251- delay_while_idle = False , time_to_live = None , retries = 5 ):
254+ delay_while_idle = False , time_to_live = None , retries = 5 , dry_run = False ):
252255 """
253256 Makes a JSON request to GCM servers
254257
@@ -268,7 +271,7 @@ def json_request(self, registration_ids, data=None, collapse_key=None,
268271 for attempt in range (retries ):
269272 payload = self .construct_payload (
270273 registration_ids , data , collapse_key ,
271- delay_while_idle , time_to_live
274+ delay_while_idle , time_to_live , dry_run
272275 )
273276 response = self .make_request (payload , is_json = True )
274277 info = self .handle_json_response (response , registration_ids )
0 commit comments