sunholo 0.104.2__py3-none-any.whl → 0.104.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -96,14 +96,21 @@ if __name__ == "__main__":
96
96
  self.app.route("/health", methods=['GET'])(self.health)
97
97
 
98
98
  # Streaming VAC
99
- self.app.route('/vac/streaming/<vector_name>', methods=['POST'])(self.handle_stream_vac)
99
+ self.app.route('/vac/streaming/<vector_name>',
100
+ methods=['POST'],
101
+ provide_automatic_options=False)(self.handle_stream_vac)
100
102
 
101
103
  # Static VAC
102
- self.app.route('/vac/<vector_name>', methods=['POST'])(self.handle_process_vac)
104
+ self.app.route('/vac/<vector_name>',
105
+ methods=['POST'],
106
+ provide_automatic_options=False)(self.handle_process_vac)
103
107
 
104
108
  # Authentication middleware
105
109
  self.app.before_request(self.check_authentication)
106
- self.app.after_request(self.register_after_request)
110
+
111
+ # Handle OPTIONS requests explicitly
112
+ self.app.route('/vac/streaming/<vector_name>', methods=['OPTIONS'])(self.handle_options)
113
+ self.app.route('/vac/<vector_name>', methods=['OPTIONS'])(self.handle_options)
107
114
 
108
115
  # OpenAI health endpoint
109
116
  self.app.route('/openai/health', methods=['GET', 'POST'])(self.openai_health_endpoint)
@@ -112,22 +119,20 @@ if __name__ == "__main__":
112
119
  self.app.route('/openai/v1/chat/completions', methods=['POST'])(self.handle_openai_compatible_endpoint)
113
120
  self.app.route('/openai/v1/chat/completions/<vector_name>', methods=['POST'])(self.handle_openai_compatible_endpoint)
114
121
 
115
- # Register OPTIONS handler for CORS
116
- self.app.route('/<path:path>', methods=['OPTIONS'])(self.handle_options)
117
-
118
122
  self.register_additional_routes()
119
123
 
120
- def handle_options(self):
124
+ def handle_options(self, **kwargs):
121
125
  response = Response(status=200)
122
126
  response.headers.add('Access-Control-Allow-Origin', '*')
123
-
127
+
124
128
  # Reflect the request's `Access-Control-Request-Headers`
125
129
  request_headers = request.headers.get('Access-Control-Request-Headers', '')
126
130
  response.headers.add('Access-Control-Allow-Headers', request_headers)
127
131
 
128
132
  # Specify allowed methods
129
133
  response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
130
-
134
+ log.info(f'OPTION Request headers: {request_headers}')
135
+
131
136
  return response
132
137
 
133
138
  def register_additional_routes(self):
@@ -169,21 +174,6 @@ if __name__ == "__main__":
169
174
  for route in self.additional_routes:
170
175
  self.app.route(route["rule"], methods=route["methods"])(route["handler"])
171
176
 
172
- def register_after_request(self, response):
173
- """
174
- Register after_request to add CORS headers.
175
- """
176
- log.debug(f'Request headers: {request.headers}')
177
- # the header forwarded
178
-
179
- response.headers.add('Access-Control-Allow-Origin', '*')
180
- response.headers.add('Access-Control-Allow-Headers', 'Content-Type, Authorization, x-api-key')
181
- response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
182
-
183
- log.debug(f'Response headers: {response.headers}')
184
-
185
- return response
186
-
187
177
  def home(self):
188
178
  return jsonify("OK")
189
179
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.104.2
3
+ Version: 0.104.3
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Home-page: https://github.com/sunholo-data/sunholo-py
6
- Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.104.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.104.3.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -14,7 +14,7 @@ sunholo/agents/fastapi/qna_routes.py,sha256=lKHkXPmwltu9EH3RMwmD153-J6pE7kWQ4BhB
14
14
  sunholo/agents/flask/__init__.py,sha256=poJDKMr2qj8qMb99JqCvCPSiEt1tj2tLQ3hKW3f2aVw,107
15
15
  sunholo/agents/flask/base.py,sha256=HLz3Z5efWaewTwSFEM6JH48NA9otoJBoVFJlARGk9L8,788
16
16
  sunholo/agents/flask/qna_routes.py,sha256=uwUD1yrzOPH27m2AXpiQrPk_2VfJOQOM6dAynOWQtoQ,22532
17
- sunholo/agents/flask/vac_routes.py,sha256=JCZTqPKeER4E_I5P3vO4ek8r3yZPLI7-UMGNvvgTgpo,28400
17
+ sunholo/agents/flask/vac_routes.py,sha256=Bwa_v1M9502w7tdtSMbL5tuupaQts6v0x0RIm1JaY_s,28121
18
18
  sunholo/archive/__init__.py,sha256=qNHWm5rGPVOlxZBZCpA1wTYPbalizRT7f8X4rs2t290,31
19
19
  sunholo/archive/archive.py,sha256=PxVfDtO2_2ZEEbnhXSCbXLdeoHoQVImo4y3Jr2XkCFY,1204
20
20
  sunholo/auth/__init__.py,sha256=TeP-OY0XGxYV_8AQcVGoh35bvyWhNUcMRfhuD5l44Sk,91
@@ -147,9 +147,9 @@ sunholo/vertex/init.py,sha256=1OQwcPBKZYBTDPdyU7IM4X4OmiXLdsNV30C-fee2scQ,2875
147
147
  sunholo/vertex/memory_tools.py,sha256=tBZxqVZ4InTmdBvLlOYwoSEWu4-kGquc-gxDwZCC4FA,7667
148
148
  sunholo/vertex/safety.py,sha256=S9PgQT1O_BQAkcqauWncRJaydiP8Q_Jzmu9gxYfy1VA,2482
149
149
  sunholo/vertex/type_dict_to_json.py,sha256=uTzL4o9tJRao4u-gJOFcACgWGkBOtqACmb6ihvCErL8,4694
150
- sunholo-0.104.2.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
151
- sunholo-0.104.2.dist-info/METADATA,sha256=QInkHYU7eFDKv1bZ5I_iBeyPcPva3aaMW6ic0Jwndm0,8312
152
- sunholo-0.104.2.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
153
- sunholo-0.104.2.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
154
- sunholo-0.104.2.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
155
- sunholo-0.104.2.dist-info/RECORD,,
150
+ sunholo-0.104.3.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
151
+ sunholo-0.104.3.dist-info/METADATA,sha256=ow-M-hY8uTh1WUylcEDYVP1NCGmTBm5SELeCWQDknCY,8312
152
+ sunholo-0.104.3.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
153
+ sunholo-0.104.3.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
154
+ sunholo-0.104.3.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
155
+ sunholo-0.104.3.dist-info/RECORD,,