Skip to content

Commit

Permalink
new: [api] New endpoint unique return the best cpe matches
Browse files Browse the repository at this point in the history
  • Loading branch information
adulau committed Nov 23, 2024
1 parent facc75d commit 30d9321
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions bin/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

runPath = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(runPath, ".."))

from lib.cpeguesser import CPEGuesser


Expand All @@ -39,9 +40,36 @@ def on_post(self, req, resp):
resp.media = cpeGuesser.guessCpe(q["query"])


class Unique:
def on_post(self, req, resp):
data_post = req.bounded_stream.read()
js = data_post.decode("utf-8")
try:
q = json.loads(js)
except ValueError:
resp.status = falcon.HTTP_400
resp.media = "Missing query array or incorrect JSON format"
return

if "query" in q:
pass
else:
resp.status = falcon.HTTP_400
resp.media = "Missing query array or incorrect JSON format"
return

cpeGuesser = CPEGuesser()
try:
r = cpeGuesser.guessCpe(q["query"])[:1][0][1]
except:
r = []
resp.media = r


if __name__ == "__main__":
app = falcon.App()
app.add_route("/search", Search())
app.add_route("/unique", Unique())

try:
with make_server("", port, app) as httpd:
Expand Down

0 comments on commit 30d9321

Please sign in to comment.