diff --git a/passerelle_imio_liege_rn/models.py b/passerelle_imio_liege_rn/models.py index ce412b6..52f570e 100644 --- a/passerelle_imio_liege_rn/models.py +++ b/passerelle_imio_liege_rn/models.py @@ -20,6 +20,8 @@ from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint +import json + class ImioLiegeRn(BaseResource): service_url = models.CharField(max_length=256, blank=False, @@ -37,14 +39,19 @@ class ImioLiegeRn(BaseResource): def get_connector_slug(cls): return 'imio-liege-rn' - @endpoint(perm='can_access', pattern='^(?P\d+)/$', + @endpoint(perm='can_access', pattern='^(?P\d+)/$', methods=['post', 'get'], example_pattern='{nrn}/', parameters={ 'nrn': {'description': _('National Register Number'), 'example_value': '79061607381'} }) def data(self, request, nrn): - response = self.requests.get(self.service_url + nrn, + str_data = '' + if request.body is not None and request.body != '': + json_acceptable_string = request.body.replace("'", "\"") + data = json.loads(json_acceptable_string) + str_data = ''.join([u'&{}={}'.format(k,v) for k,v in data.iteritems()]) + response = self.requests.get(self.service_url + nrn + str_data, verify=self.verify_cert, timeout=5) if response.status_code != 200: