mirror of
https://github.com/blw1138/Zordon.git
synced 2026-06-10 05:59:23 -05:00
Change api methods to use POST when possible
This commit is contained in:
@@ -17,6 +17,7 @@ import psutil
|
|||||||
import yaml
|
import yaml
|
||||||
from flask import Flask, request, send_file, after_this_request, Response, redirect, url_for
|
from flask import Flask, request, send_file, after_this_request, Response, redirect, url_for
|
||||||
from sqlalchemy.orm.exc import DetachedInstanceError
|
from sqlalchemy.orm.exc import DetachedInstanceError
|
||||||
|
from werkzeug.exceptions import HTTPException
|
||||||
|
|
||||||
from src.api.job_import_handler import JobImportHandler
|
from src.api.job_import_handler import JobImportHandler
|
||||||
from src.api.preview_manager import PreviewManager
|
from src.api.preview_manager import PreviewManager
|
||||||
@@ -306,7 +307,7 @@ def add_job_handler():
|
|||||||
return 'unknown error', 500
|
return 'unknown error', 500
|
||||||
|
|
||||||
|
|
||||||
@server.get('/api/job/<job_id>/cancel')
|
@server.post('/api/job/<job_id>/cancel')
|
||||||
def cancel_job(job_id):
|
def cancel_job(job_id):
|
||||||
if not request.args.get('confirm', False):
|
if not request.args.get('confirm', False):
|
||||||
return 'Confirmation required to cancel job', 400
|
return 'Confirmation required to cancel job', 400
|
||||||
@@ -320,7 +321,7 @@ def cancel_job(job_id):
|
|||||||
return "Unknown error", 500
|
return "Unknown error", 500
|
||||||
|
|
||||||
|
|
||||||
@server.route('/api/job/<job_id>/delete', methods=['POST', 'GET'])
|
@server.post('/api/job/<job_id>/delete')
|
||||||
def delete_job(job_id):
|
def delete_job(job_id):
|
||||||
try:
|
try:
|
||||||
if not request.args.get("confirm", False):
|
if not request.args.get("confirm", False):
|
||||||
@@ -616,6 +617,9 @@ def handle_404(error):
|
|||||||
|
|
||||||
@server.errorhandler(Exception)
|
@server.errorhandler(Exception)
|
||||||
def handle_general_error(general_error):
|
def handle_general_error(general_error):
|
||||||
|
if isinstance(general_error, HTTPException):
|
||||||
|
return general_error.description, general_error.code
|
||||||
|
|
||||||
traceback.print_exception(type(general_error), general_error, general_error.__traceback__)
|
traceback.print_exception(type(general_error), general_error, general_error.__traceback__)
|
||||||
err_msg = f"Server error: {general_error}"
|
err_msg = f"Server error: {general_error}"
|
||||||
logger.error(err_msg)
|
logger.error(err_msg)
|
||||||
@@ -633,7 +637,7 @@ def detected_clients():
|
|||||||
return ZeroconfServer.found_hostnames()
|
return ZeroconfServer.found_hostnames()
|
||||||
|
|
||||||
|
|
||||||
@server.get('/api/_debug/clear_history')
|
@server.post('/api/_debug/clear_history')
|
||||||
def clear_history():
|
def clear_history():
|
||||||
RenderQueue.clear_history()
|
RenderQueue.clear_history()
|
||||||
return 'success'
|
return 'success'
|
||||||
|
|||||||
@@ -109,6 +109,11 @@ class RenderServerProxy:
|
|||||||
return requests.get(f'http://{self.hostname}:{self.port}/api/{payload}', timeout=timeout,
|
return requests.get(f'http://{self.hostname}:{self.port}/api/{payload}', timeout=timeout,
|
||||||
headers={"X-API-Version": str(API_VERSION)})
|
headers={"X-API-Version": str(API_VERSION)})
|
||||||
|
|
||||||
|
def _post(self, payload, timeout=5, **kwargs):
|
||||||
|
from src.api.api_server import API_VERSION
|
||||||
|
return requests.post(f'http://{self.hostname}:{self.port}/api/{payload}', timeout=timeout,
|
||||||
|
headers={"X-API-Version": str(API_VERSION)}, **kwargs)
|
||||||
|
|
||||||
# --------------------------------------------
|
# --------------------------------------------
|
||||||
# Background Updates:
|
# Background Updates:
|
||||||
# --------------------------------------------
|
# --------------------------------------------
|
||||||
@@ -225,10 +230,10 @@ class RenderServerProxy:
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
def cancel_job(self, job_id, confirm=False):
|
def cancel_job(self, job_id, confirm=False):
|
||||||
return self.request_data(f'job/{job_id}/cancel?confirm={confirm}')
|
return self._post(f'job/{job_id}/cancel', params={'confirm': confirm})
|
||||||
|
|
||||||
def delete_job(self, job_id, confirm=False):
|
def delete_job(self, job_id, confirm=False):
|
||||||
return self.request_data(f'job/{job_id}/delete?confirm={confirm}')
|
return self._post(f'job/{job_id}/delete', params={'confirm': confirm})
|
||||||
|
|
||||||
def send_subjob_update_notification(self, parent_id, subjob):
|
def send_subjob_update_notification(self, parent_id, subjob):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user