zoukankan      html  css  js  c++  java
  • FastAPI *示例

    # ************ CVE Search Proxy ************
    @router.route('/cve-search/{path:path}', methods=['OPTIONS', 'HEAD', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'])
    async def proxy_cve_search_api(req: Request) -> Response:
        """代理CVE Search API接口
    
        具体CVE Search接口文档可访问docker-compose 启动的cve-search实例,通过对应的接口进行访问
        如:接口文档地址: https://127.0.0.1[:expose_port]/api_docs
        """
    
        path = req.path_params.get('path')
        query = str(req.query_params)
        headers = req.headers
        method = req.method
    
        # Get request body
        try:
            body = await req.body()
        except Exception as e:
            return Response(status_code=400, content=f'get request body info error: {e}')
    
        q = '?' + query if query else ''
        cve_search_url = settings.CVE_SEARCH_API_URL + '/' + path + q
        # print(cve_search_url)
    
        # Proxy Request
        async with aiohttp.ClientSession() as session:
            async with session.request(
                    method, cve_search_url, data=body, headers=headers, ssl=settings.CVE_SEARCH_PROXY_SSL_VERIFY
            ) as resp:
                # print('proxy response status:', resp.status, resp.content)
                content = await resp.content.read()
                return Response(content=content, status_code=resp.status, headers=dict(resp.headers))
    
  • 相关阅读:
    chkconfig命令
    Office 2010 与搜狗输入法兼容问题
    【转】WAS入门简介
    UTF8GB2312GBK
    System.getProperty
    Hibernate 事务方法保存clob类型数据
    Eclipse 或者 Myeclipse 提示选择工作空间设置
    request
    那些操蛋的人生
    Java新手入门很重要的几个基本概念
  • 原文地址:https://www.cnblogs.com/li1234yun/p/15223315.html
Copyright © 2011-2022 走看看