def chall(request): """ challenge command """ with Challenge(DEBUG, get_url(request.META), LOGGER) as challenge: # pylint: disable=R1705 if request.method == 'POST': response_dic = challenge.parse(request.body) # create the response response = JsonResponse(status=response_dic['code'], data=response_dic['data']) # generate additional header elements for element in response_dic['header']: response[element] = response_dic['header'][element] # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], response_dic) # send response return response elif request.method == 'GET': response_dic = challenge.get(request.build_absolute_uri()) # create the response response = JsonResponse(status=response_dic['code'], data=response_dic['data']) # logging # logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], response_dic) # send response return response else: return JsonResponse(status=405, data={'status': 405, 'message': 'Method Not Allowed', 'detail': 'Wrong request type. Expected POST.'})
def cert(request): """ cert request """ if request.method == 'POST' or request.method == 'GET': with Certificate(DEBUG, get_url(request.META), LOGGER) as certificate: if request.method == 'POST': response_dic = certificate.new_post(request.body) else: response_dic = certificate.new_get(request.build_absolute_uri()) # create the response if response_dic['code'] == 200: response = HttpResponse(response_dic['data']) # generate additional header elements for element in response_dic['header']: response[element] = response_dic['header'][element] else: response = HttpResponse(status=response_dic['code']) # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], response_dic) # send response return response else: return JsonResponse(status=405, data={'status': 405, 'message': 'Method Not Allowed', 'detail': 'Wrong request type. Expected POST.'})
def order(request): """ order request """ if request.method == 'POST': with Order(DEBUG, get_url(request.META), LOGGER) as eorder: response_dic = eorder.parse(request.body) # create the response response = JsonResponse(status=response_dic['code'], data=response_dic['data']) # generate additional header elements for element in response_dic['header']: response[element] = response_dic['header'][element] # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], response_dic) # send response return response else: return JsonResponse(status=405, data={'status': 405, 'message': 'Method Not Allowed', 'detail': 'Wrong request type. Expected POST.'})
def authz(request): """ new-authz command """ if request.method == 'POST' or request.method == 'GET': with Authorization(DEBUG, get_url(request.META), LOGGER) as authorization: if request.method == 'POST': response_dic = authorization.new_post(request.body) else: response_dic = authorization.new_get(request.build_absolute_uri()) # create the response response = JsonResponse(status=response_dic['code'], data=response_dic['data']) # generate additional header elements for element in response_dic['header']: response[element] = response_dic['header'][element] # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], response_dic) # send response return response else: return JsonResponse(status=405, data={'status': 405, 'message': 'Method Not Allowed', 'detail': 'Wrong request type. Expected POST.'})
def neworders(request): """ new account """ if request.method == 'POST': with Order(DEBUG, get_url(request.META), LOGGER) as norder: response_dic = norder.new(request.body) # create the response response = JsonResponse(status=response_dic['code'], data=response_dic['data']) # generate additional header elements for element in response_dic['header']: response[element] = response_dic['header'][element] if 'Replay-Nonce' not in response: response['Replay-Nonce'] = '' # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], {'header': {'Replay-Nonce': response['Replay-Nonce']}}) # send response return response else: return JsonResponse(status=405, data={'status': 405, 'message': 'Method Not Allowed', 'detail': 'Wrong request type. Expected POST.'})
def acct(request): """ xxxx command """ with Account(DEBUG, get_url(request.META), LOGGER) as account: response_dic = account.parse(request.body) # create the response response = JsonResponse(status=response_dic['code'], data=response_dic['data']) # generate additional header elements for element in response_dic['header']: response[element] = response_dic['header'][element] # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], response_dic) # send response return response
def newnonce(request): """ new nonce """ if request.method in ['HEAD', 'GET']: with Nonce(DEBUG, LOGGER) as nonce: if request.method == 'HEAD': response = HttpResponse('') else: response = HttpResponse(status=204) # generate nonce response['Replay-Nonce'] = nonce.generate_and_add() # logging logger_info(LOGGER, request.META['REMOTE_ADDR'], request.META['PATH_INFO'], {'header': {'Replay-Nonce': response['Replay-Nonce']}}) # send response return response else: return JsonResponse(status=400, data={'status': 405, 'message': 'Method Not Allowed', 'detail': 'Wrong request type. Expected HEAD or GET.'})
def directory(request): """ get directory """ with Directory(DEBUG, get_url(request.META), LOGGER) as cfg_dir: return JsonResponse(cfg_dir.directory_get())
def servername_get(request): """ get server name """ with Directory(DEBUG, get_url(request.META), LOGGER) as cfg_dir: return JsonResponse({'server_name': cfg_dir.servername_get()})