소스 검색

请求转发携带params参数

zhangnaiwen 2 년 전
부모
커밋
0efde237c1
1개의 변경된 파일23개의 추가작업 그리고 18개의 파일을 삭제
  1. 23 18
      src/app/api/apis.py

+ 23 - 18
src/app/api/apis.py

@@ -10,22 +10,27 @@ from app.configs import config
 class AgentApi(Resource):
 
     def get(self, path):
-        token = request.args.get('token', None)
-        if token is None:
-            abort(418)
+        args = request.args
+        try:
+            token = args.pop('token')
+
+            # token 在配置里则不验证,48小时删除配置里的token
+            validate_token_rep = requests.get('http://%s/oauth/api/user/validateToken' % config.OAUTH_HOST,
+                                              headers={'token': token}).json()
+            if validate_token_rep.get('code') != 200:
+                return validate_token_rep
+
+            # 请求nginx
+            nginx_rep = requests.get('http://%s/%s' % (config.NGINX_HOST, path), params=args if len(args) > 0 else None)
 
-        # 验证token
-        validate_token_rep = requests.get('http://%s/oauth/api/user/validateToken' % config.OAUTH_HOST,
-                                          headers={'token': token}).json()
-        if validate_token_rep.get('code') != 200:
-            return validate_token_rep
-        # 请求nginx
-        nginx_rep = requests.get('http://%s/%s' % (config.NGINX_HOST, path))
-        response = make_response(nginx_rep.content)
-        filename = path.split('/')[-1]
-        mime_type = mimetypes.guess_type(filename)[0]
-        if mime_type is None:
-            mime_type = 'application/octet-stream'
-        response.headers['Content-Type'] = mime_type
-        response.headers['Content-Disposition'] = 'attachment; filename={}'.format(filename.encode().decode('latin-1'))
-        return response
+            response = make_response(nginx_rep.content)
+            filename = path.split('/')[-1]
+            mime_type = mimetypes.guess_type(filename)[0]
+            if mime_type is None:
+                mime_type = 'application/octet-stream'
+            response.headers['Content-Type'] = mime_type
+            response.headers['Content-Disposition'] = 'attachment; filename={}'.format(filename.encode().decode('latin-1'))
+            return response
+
+        except KeyError:
+            abort(418)