Projet

Général

Profil

0003-toulouse_smart-add-a-method-parameter-to-request-fun.patch

Nicolas Roche, 02 novembre 2021 13:15

Télécharger (2,6 ko)

Voir les différences:

Subject: [PATCH 3/5] toulouse_smart: add a method parameter to request
 function (#57875)

 passerelle/contrib/toulouse_smart/models.py | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
passerelle/contrib/toulouse_smart/models.py
113 113
                    {
114 114
                        'id': '',
115 115
                        'text': _('Service is unavailable'),
116 116
                        'disabled': True,
117 117
                    }
118 118
                ]
119 119
            }
120 120

  
121
    def request(self, url, json=None):
121
    def request(self, url, method='GET', json=None, files=None):
122 122
        headers = {'Accept': 'application/json'}
123
        if method == 'POST':
124
            headers['Content-Type'] = 'application/json'
123 125
        try:
124
            if json:
125
                headers['Content-Type'] = 'application/json'
126
                response = self.requests.post(url, headers=headers, json=json)
127
            else:
128
                response = self.requests.get(url, headers=headers)
126
            response = self.requests.request(url=url, method=method, headers=headers, json=json, files=files)
129 127
            response.raise_for_status()
130 128
        except RequestException as e:
131
            raise APIError('failed to %s %s: %s' % ('post' if json else 'get', url, e))
129
            raise APIError('failed to %s %s: %s' % (method.lower(), url, e))
132 130
        return response
133 131

  
134 132
    @endpoint(
135 133
        name='get-intervention',
136 134
        methods=['get'],
137 135
        description=_('Retrieve an intervention'),
138 136
        perm='can_access',
139 137
        parameters={
......
332 330
            ('registered', _('Registered')),
333 331
            ('sent', _('Sent')),
334 332
        ),
335 333
    )
336 334

  
337 335
    def push(self):
338 336
        url = self.resource.webservice_base_url + 'v1/intervention'
339 337
        try:
340
            response = self.resource.request(url, json=self.payload)
338
            response = self.resource.request(url, method='POST', json=self.payload)
341 339
        except APIError as e:
342 340
            self.result = str(e)
343 341
            self.save()
344 342
            return False
345 343
        try:
346 344
            self.result = response.json()
347 345
        except ValueError:
348 346
            err_desc = 'invalid json, got: %s' % response.text
349
-