def request_handler(request): """ HTTP Request handler function to handle actions on collections """ if not request.user.is_authenticated(): return HttpResponse(Response.error(None, 'User must be logged in')) mode = request.GET.get('mode', '') reply_xml = None logger.info('request_handler: Received Request: (%s)' % mode) if mode == 'get-collection-list': reply_xml = Collection.list() elif mode == 'load-collection': metadata = request.GET.get('metadata', '') reply_xml = Collection.load(request.user.username, metadata) if reply_xml is None: return HttpResponse(Response.error(mode, 'Failed')) if isinstance(reply_xml, str): return HttpResponse(Response.success(mode, reply_xml)) elif mode == 'add-collection': metadata = request.GET.get('metadata', '') payload = request.GET.get('payload', '') logger.debug('metadata: ' + metadata) logger.debug('payload: ' + payload) if not Collection.add(metadata, payload): return HttpResponse(Response.error(mode, 'Failed')) reply_xml = Collection.list() mode = 'get-collection-list' elif mode == 'delete-collection': metadata = request.GET.get('metadata', '') if not Collection.remove(metadata): return HttpResponse(Response.error(mode, 'Failed')) reply_xml = Collection.list() mode = 'get-collection-list' elif mode == 'rpc': req = request.GET.get('payload', '') reply_xml = Adapter.gen_rpc(request.user.username, req) if isinstance(reply_xml, str): return HttpResponse(Response.success(mode, reply_xml)) elif mode == 'gen-script': req = request.GET.get('payload', '') reply_xml = Adapter.gen_script(request.user.username, req) if isinstance(reply_xml, str): return HttpResponse(Response.success(mode, reply_xml)) elif mode in ['get-cap', 'run-rpc', 'run-edit-commit', 'run-commit']: payload = request.GET.get('payload', '') logger.debug('run: ' + payload) reply_xml = Adapter.run_request(request.user.username, payload) return HttpResponse(Response.success(mode, 'ok', reply_xml))
def request_handler(request): """ HTTP Request handler function to handle actions on collections """ mode = request.GET.get('mode', '') reply_xml = None logging.debug('request_handler: Received Request: (%s)' % mode) if mode == 'get-collection-list': reply_xml = Collection.list() elif mode == 'load-collection': metadata = request.GET.get('metadata', '') reply_xml = Collection.load(metadata) if reply_xml is None: return HttpResponse(Response.error(mode, 'Failed')) elif mode == 'add-collection': metadata = request.GET.get('metadata', '') payload = request.GET.get('payload', '') if not Collection.add(metadata, payload): return HttpResponse(Response.error(mode, 'Failed')) reply_xml = Collection.list() mode = 'get-collection-list' elif mode == 'delete-collection': metadata = request.GET.get('metadata', '') if not Collection.remove(metadata): return HttpResponse(Response.error(mode, 'Failed')) reply_xml = Collection.list() mode = 'get-collection-list' elif mode in ['get-cap', 'run-rpc']: payload = request.GET.get('payload', '') reply_xml = Adapter.run_request(payload) return HttpResponse(Response.success(mode, 'ok', reply_xml))