Add a proxy view to the json config endpoint of rfiddrivers.
This commit is contained in:
parent
a9b2a56973
commit
8a302b1ce6
|
@ -53,6 +53,7 @@ urlpatterns += (
|
|||
|
||||
urlpatterns += (
|
||||
url(r'^readers/$', login_required(views.ReaderList.as_view()), name='reader_list'),
|
||||
url(r'^readers/(?P<pk>\d+)/$', login_required(views.ReaderConfig.as_view()), name='reader_config'),
|
||||
url(r'^reader/add/$', login_required(views.ReaderCreate.as_view()), name='reader_add'),
|
||||
url(r'^reader/(?P<pk>\d+)/$', login_required(views.ReaderUpdate.as_view()), name='reader_update'),
|
||||
url(r'^reader/(?P<pk>\d+)/delete/$', login_required(views.ReaderDelete.as_view()), name='reader_delete'),
|
||||
|
|
|
@ -349,3 +349,22 @@ class ReaderDelete(DeleteView):
|
|||
except:
|
||||
pass
|
||||
return context
|
||||
|
||||
|
||||
class ReaderConfig(View):
|
||||
def get(self, request, *args, **kwargs):
|
||||
reader = get_object_or_404(models.Reader,
|
||||
id=kwargs.get('pk', None))
|
||||
infos = {'status' : 'unknown'}
|
||||
target = "http://{}:{}/config".format(reader.ip_address,
|
||||
reader.management_port)
|
||||
response = None
|
||||
try:
|
||||
response = requests.get(target)
|
||||
except requests.ConnectionError:
|
||||
infos['status'] = 'disconnected'
|
||||
else:
|
||||
infos['status'] = 'connected'
|
||||
if response.status_code != 404:
|
||||
infos['config'] = response.json()
|
||||
return JsonResponse(infos)
|
||||
|
|
Reference in New Issue