mirror of
https://github.com/iio612/DEFENDER.git
synced 2026-02-13 19:24:23 +00:00
Final main file
This commit is contained in:
34
core/classes/interfaces/irpc_endpoint.py
Normal file
34
core/classes/interfaces/irpc_endpoint.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import starlette.status as http_status_code
|
||||
from typing import TYPE_CHECKING
|
||||
from core.classes.modules.rpc.rpc_errors import JSONRPCErrorCode
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from core.loader import Loader
|
||||
|
||||
class IRPC:
|
||||
|
||||
def __init__(self, loader: 'Loader'):
|
||||
self.ctx = loader
|
||||
self.http_status_code = http_status_code
|
||||
self.response_model = {
|
||||
"jsonrpc": "2.0",
|
||||
"id": 123
|
||||
}
|
||||
|
||||
def reset(self):
|
||||
self.response_model = {
|
||||
"jsonrpc": "2.0",
|
||||
"id": 123
|
||||
}
|
||||
|
||||
def create_error_response(self, error_code: JSONRPCErrorCode, details: dict = None) -> dict[str, str]:
|
||||
"""Create a JSON-RPC error!"""
|
||||
response = {
|
||||
"code": error_code.value,
|
||||
"message": error_code.description(),
|
||||
}
|
||||
|
||||
if details:
|
||||
response["data"] = details
|
||||
|
||||
return response
|
||||
Reference in New Issue
Block a user