def dispatch(self, request, *args, **kwargs):
     user = request.user
     if user and user.is_superuser:
         data = json.loads(request.body)
         response = requests.post(f'{MED_RECORDS_URL}/api/', json=data)
         response = JsonResponse(response.json(), status=200)
     else:
         response = JsonResponse({'authentication-error': True}, status=503)
     return response
Example #2
0
 def assertResponseError(
         self, response: http.JsonResponse,
         error: Union[errors.APIError, Type[errors.APIError]] = None
 ) -> Tuple[int, str]:
     content = response.json()
     self.assertGreaterEqual(response.status_code, 400,
                             (response.status_code, content))
     self.assertIn('error', content, content)
     if error is not None:
         if isinstance(error, type):
             error = error()
         self.assertEqual(response.status_code, error.status,
                          (response.status_code, content))
         self.assertEqual(content['error'], error.message,
                          (response.status_code, content))
     return response.status_code, content['error']
Example #3
0
def lookup_regulations_gov(*args, **kwargs):
    """ GET lookup values from regulations.gov. Use a cache """
    cache = caches['regs_gov_cache']
    cache_key = make_cache_key(**kwargs)
    response = cache.get(cache_key)

    if response is None:
        logger.debug("Looking up in regs.gov")
        response = requests.get(
            settings.REGS_GOV_API_LOOKUP_URL,
            params=kwargs,
            headers={'X-Api-Key': settings.REGS_GOV_API_KEY})
        if response.status_code == requests.codes.ok:
            response = JsonResponse(response.json()['list'], safe=False)
            cache.set(cache_key, response)
        else:
            logger.error("Failed to lookup regulations.gov: {}",
                         response.status_code, response.text)
            response.raise_for_status()
    return response
Example #4
0
def pay(request):
    if request.method == "POST":
        data = JSONParser().parse(request)
        print(data)
        URL = 'https://kapi.kakao.com/v1/payment/ready'
        headers = {
            "Authorization": "KakaoAK " + app_admin_key,
            "Content-type":
            "application/x-www-form-urlencoded;charset=utf-8",  # 변경불가
        }

        params = {
            "cid": "TC0ONETIME",  # 테스트용 코드
            "partner_order_id": "1001",  # 주문번호
            "partner_user_id": "userid",  # 유저 아이디
            "item_name": data['item_name'],  # 구매 물품 이름
            "quantity": "1",  # 구매 물품 수량
            "total_amount": data['total_amount'],  # 구매 물품 가격
            "tax_free_amount": "0",  # 구매 물품 비과세
            "approval_url": server_url + "#/pay",  # /approval",
            "cancel_url": server_url + "500/결제가 취소되었습니다.",
            "fail_url": server_url + "500/결제가 실패하였습니다",
        }

        print("들어옵니까?")
        res = requests.post(URL, headers=headers, params=params)
        # print(res.json())
        # request.cookies = {"tid" : res.json()['tid'] }
        # request.session['tid'] = res.json()['tid']  # 결제 승인시 사용할 tid를 세션에 저장
        tid = res.json()['tid']
        print(tid)
        # cache.set('tid', tid, 60*60)
        # res.set_cookie('tid', tid, 60*60)
        # print("tid : " , cache.get("tid"))
        next_url = res.json()['next_redirect_pc_url']  # 결제 페이지로 넘어갈 url을 저장

        # return redirect(next_url)
        res = JsonResponse(res.json())
        # res.set_cookie('tid', tid)
        # request.session['tid'] = tid
        return res
Example #5
0
def lookup_regulations_gov(*args, **kwargs):
    """ GET lookup values from regulations.gov. Use a cache """
    cache = caches['regs_gov_cache']
    cache_key = make_cache_key(**kwargs)
    response = cache.get(cache_key)

    if response is None:
        logger.debug("Looking up in regs.gov")
        response = requests.get(
            settings.REGS_GOV_API_LOOKUP_URL,
            params=kwargs,
            headers={'X-Api-Key': settings.REGS_GOV_API_KEY}
        )
        if response.status_code == requests.codes.ok:
            response = JsonResponse(response.json()['list'], safe=False)
            cache.set(cache_key, response)
        else:
            logger.error("Failed to lookup regulations.gov: {}",
                         response.status_code, response.text)
            response.raise_for_status()
    return response
Example #6
0
def assert_successful_json_response(response: http.JsonResponse,
                                    url: str) -> None:
    json = response.json()
    assert response.status_code == status.HTTP_200_OK
    assert json['success'] == True
    assert json['url'] == url