git -C '/home/opc/rocketa.git' show 2c52faf -- oci_func/click/func.pycommit 2c52faf0656e662f272318d3a3924c20b8f22cae
Author: Satoshi Ujihara <satoshi_ujihara@fivegate.jp>
Date: Wed Oct 22 12:37:41 2025 +0900
エラーコードを追加
diff --git a/oci_func/click/func.py b/oci_func/click/func.py
index 346a71a..a0b986b 100644
--- a/oci_func/click/func.py
+++ b/oci_func/click/func.py
@@ -97,19 +97,19 @@ def handler(ctx, data: io.BytesIO = None):
if query_params.get('ad_id') is not None:
ad_id = query_params.get('ad_id', [None])[0]
else:
- error = 1
+ error = 101
if query_params.get('client_id') is not None:
client_id = query_params.get('client_id', [None])[0]
else:
- error = 1
+ error = 102
if query_params.get('media_id') is not None:
media_id = query_params.get('media_id', [None])[0]
else:
- error = 1
+ error = 103
if query_params.get('media_uid') is not None:
uid = query_params.get('media_uid', [None])[0]
@@ -219,7 +219,7 @@ def handler(ctx, data: io.BytesIO = None):
if dv_pc == 0:
error = 2
else:
- error = 1
+ error = 301
@@ -386,11 +386,11 @@ def handler(ctx, data: io.BytesIO = None):
else:
#報酬額データがない
- error=1
+ error=302
#報酬額データがない
if net_price is None or net_price_unit is None or gross_price is None or gross_price_unit is None:
- error=1
+ error=302
logging.info(f"■■■424■■■■報酬額ない")
# sidと遷移情報を保存
if error == 0:
@@ -451,7 +451,7 @@ def handler(ctx, data: io.BytesIO = None):
logging.info(f"■■■445■■■{text(sql_query)}")
# トランザクションをコミットして変更を永続化
connection.commit()
-
+ """
# 広告ページへ遷移
if '?' in url:
# ソケット通信の時はパラメータはデフォ
@@ -561,26 +561,58 @@ def handler(ctx, data: io.BytesIO = None):
if uid != '' and int(result_method) != 4:
url += '&media_uid=' + uid
+ """
+ params = {
+ "sid": sid,
+ "ad_id": ad_id,
+ "client_id": client_id,
+ "media_id": media_id,
+ }
- logging.info(f"■■■917■■■{url}")
- return response.Response(
- ctx,
- status_code=302,
- headers={"Location": url}
- )
+ formatter = string.Formatter()
+ fields = [fname for _, fname, _, _ in formatter.parse(url) if fname]
+ missing = [f for f in fields if f not in params]
+ if missing:
+ params = {
+ "sid": sid,
+ "ad_id": ad_id,
+ "client_id": client_id,
+ "media_id": media_id,
+ "media_uid": uid,
+ }
+ formatter = string.Formatter()
+ fields = [fname for _, fname, _, _ in formatter.parse(url) if fname]
+ missing = [f for f in fields if f not in params]
- else:
- # エラーページへ遷移
- error_page = 'https://api.rocket-a.com/service/error'
- if error == 2:
- error_page = 'https://api.rocket-a.com/service/device_error'
+ if missing or uid == '':
+ error = 401
+ logging.info(f"■■■589■■■パラメータエラー")
+ else:
+ url = url.format(sid=sid, ad_id=ad_id, client_id=client_id, media_id=media_id, media_uid=uid)
+ else:
+ url = url.format(sid=sid, ad_id=ad_id, client_id=client_id, media_id=media_id)
+ logging.info(f"■■■595■■■{url}")
- return response.Response(
- ctx,
- status_code=302,
- headers={"Location": error_page}
- )
+ if error == 0:
+ return response.Response(
+ ctx,
+ status_code=302,
+ headers={"Location": url}
+ )
+
+
+ # エラーページへ遷移
+ error_page = 'https://api.rocket-a.com/service/error?error=' + str(error)
+ if error == 2:
+ error_page = 'https://api.rocket-a.com/service/device_error'
+
+
+ return response.Response(
+ ctx,
+ status_code=302,
+ headers={"Location": error_page}
+ )
'''
# testdic = click_data._asdict()