mirror of
https://github.com/gnh1201/caterpillar.git
synced 2024-11-26 07:21:46 +00:00
Fix bugs when dispatch the RPC method
This commit is contained in:
parent
08212459eb
commit
44425dbb8b
10
base.py
10
base.py
|
@ -166,9 +166,13 @@ class Extension:
|
|||
@classmethod
|
||||
def get_rpcmethod(cls, method):
|
||||
for extension in cls.extensions:
|
||||
is_exported_method = (method == extension.method) or (
|
||||
method in extension.exported_methods
|
||||
)
|
||||
is_exported_method = False
|
||||
try:
|
||||
is_exported_method = (method == extension.method) or (
|
||||
method in extension.exported_methods
|
||||
)
|
||||
except:
|
||||
pass
|
||||
if extension.type == "rpcmethod" and is_exported_method:
|
||||
return extension
|
||||
return None
|
||||
|
|
|
@ -296,7 +296,7 @@
|
|||
if (env.method == "analyze_sequence") {
|
||||
var _this = this;
|
||||
this.read("Enter the sequence:\r\n", function(message) {
|
||||
jsonrpc2_request(this, env.method, {
|
||||
jsonrpc2_request(_this, env.method, {
|
||||
"sequence": message
|
||||
});
|
||||
});
|
||||
|
@ -307,7 +307,7 @@
|
|||
if (env.method == "gc_content_calculation") {
|
||||
var _this = this;
|
||||
this.read("Enter the sequence:\r\n", function(message) {
|
||||
jsonrpc2_request(this, env.method, {
|
||||
jsonrpc2_request(_this, env.method, {
|
||||
"sequence": message
|
||||
});
|
||||
});
|
||||
|
|
|
@ -2,3 +2,5 @@ python-decouple
|
|||
requests
|
||||
aiosmtpd
|
||||
ruff
|
||||
flask
|
||||
flask_cors
|
17
web.py
17
web.py
|
@ -7,18 +7,20 @@
|
|||
# Namyheon Go (Catswords Research) <gnh1201@gmail.com>
|
||||
# https://github.com/gnh1201/caterpillar
|
||||
# Created at: 2024-05-20
|
||||
# Updated at: 2024-07-10
|
||||
# Updated at: 2024-10-25
|
||||
#
|
||||
|
||||
import os
|
||||
import sys
|
||||
from decouple import config
|
||||
from flask import Flask, request, render_template
|
||||
from flask_cors import CORS
|
||||
from base import Extension, jsonrpc2_error_encode, Logger
|
||||
|
||||
# TODO: 나중에 Flask 커스텀 핸들러 구현 해야 함
|
||||
logger = Logger(name="web")
|
||||
app = Flask(__name__)
|
||||
CORS(app)
|
||||
app.config["UPLOAD_FOLDER"] = "data/"
|
||||
if not os.path.exists(app.config["UPLOAD_FOLDER"]):
|
||||
os.makedirs(app.config["UPLOAD_FOLDER"])
|
||||
|
@ -51,9 +53,16 @@ def process_jsonrpc2():
|
|||
# JSON-RPC 2.0 request
|
||||
json_data = request.get_json(silent=True)
|
||||
if json_data["jsonrpc"] == "2.0":
|
||||
return Extension.dispatch_rpcmethod(
|
||||
json_data["method"], "call", json_data["id"], json_data["params"], conn
|
||||
)
|
||||
result = Extension.dispatch_rpcmethod(
|
||||
json_data["method"], "call", json_data["id"], json_data["params"], conn)
|
||||
|
||||
return {
|
||||
"jsonrpc": "2.0",
|
||||
"result": {
|
||||
"data": result
|
||||
},
|
||||
"id": None
|
||||
}
|
||||
|
||||
# when error
|
||||
return jsonrpc2_error_encode({"message": "Not valid JSON-RPC 2.0 request"})
|
||||
|
|
Loading…
Reference in New Issue
Block a user