Spaces:
Sleeping
Sleeping
File size: 3,519 Bytes
325b400 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
from fastapi import APIRouter, Form, Request,Depends,HTTPException
from service import ChatService
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from request import RequestChat
from typing import Optional
from fastapi.requests import Request
router = APIRouter()
class JWTBearer(HTTPBearer):
def __init__(self, auto_error: bool = True):
super(JWTBearer, self).__init__(auto_error=auto_error)
async def __call__(self, request: Request):
credentials: HTTPAuthorizationCredentials = await super(JWTBearer, self).__call__(request)
if credentials:
if credentials.scheme != "Bearer":
raise HTTPException(status_code=401, detail="Invalid authentication scheme.")
return credentials.credentials
else:
raise HTTPException(status_code=401, detail="Invalid authorization code.")
jwt_bearer = JWTBearer()
import decode_token
from service import RedirectService
from typing import Optional
from fastapi import Request, Query
from fastapi.responses import JSONResponse
@router.get("/android/zalo")
async def zalo_callback_get(
amount: Optional[int] = Query(None),
appid: Optional[str] = Query(None),
apptransid: Optional[str] = Query(None),
bankcode: Optional[str] = Query(None),
checksum: Optional[str] = Query(None),
discountamount: Optional[int] = Query(None),
pmcid: Optional[int] = Query(None),
status: Optional[int] = Query(None)
):
return await RedirectService.zalo_redirect(status,apptransid)
@router.get("/android/group/zalo")
async def zalo_callback_get(
amount: Optional[int] = Query(None),
appid: Optional[str] = Query(None),
apptransid: Optional[str] = Query(None),
bankcode: Optional[str] = Query(None),
checksum: Optional[str] = Query(None),
discountamount: Optional[int] = Query(None),
pmcid: Optional[int] = Query(None),
status: Optional[int] = Query(None)
):
return await RedirectService.zalo_group_redirect(status,apptransid)
@router.get("/web/zalo")
async def zalo_web_callback_get(request: Request):
return await RedirectService.zalo_web_redirect(request.query_params)
@router.get("/android/momo")
async def return_url_handler_1(request: Request):
query_params = request.query_params
return await RedirectService.android_momo_redirect(query_params)
@router.get("/android/group/momo")
async def return_url_handler_group_momo(request: Request):
query_params = request.query_params
return await RedirectService.android_group_momo_redirect(query_params)
from urllib.parse import urlencode
@router.get("/web/momo")
async def return_url_handler_web(request: Request):
query_params = request.query_params
return await RedirectService.web_momo_redirect(query_params)
from typing import Dict
@router.get("/android/vnpay")
async def vnpay_ipn_redirect(request: Request):
params: Dict[str, str] = dict(request.query_params)
return await RedirectService.android_vnpay_ipn_redirect(params)
@router.get("/android/group/vnpay")
async def vnpay_ipn_redirect(request: Request):
params: Dict[str, str] = dict(request.query_params)
return await RedirectService.android_vnpay_group_ipn_redirect(params)
@router.get("/web/vnpay")
async def vnpay_ipn_redirect(request: Request):
query_params = request.query_params
return await RedirectService.web_vnpay_ipn_redirect(query_params) |