diff --git a/src/jsons/search.nim b/src/jsons/search.nim index 2b63f95e6..2e0a5562f 100644 --- a/src/jsons/search.nim +++ b/src/jsons/search.nim @@ -14,7 +14,7 @@ proc createJsonApiSearchRouter*(cfg: Config) = get "/api/search?": let q = @"q" if q.len > 500: - respJsonError "Search input too long." + respJsonError("Search input too long.", "invalid_input", Http400) let prefs = cookiePrefs() @@ -23,7 +23,7 @@ proc createJsonApiSearchRouter*(cfg: Config) = case query.kind of users: if "," in q: - respJsonError "Invalid search input" + respJsonError("Invalid search input", "invalid_input", Http400) var users: Result[User] try: users = await getGraphUserSearch(query, getCursor()) @@ -32,10 +32,10 @@ proc createJsonApiSearchRouter*(cfg: Config) = respJsonSuccess formatUsersAsJson(users) of tweets: let timeline = await getGraphTweetSearch(query, getCursor()) - if timeline.content.len == 0: respJsonError "No results found" + if timeline.content.len == 0: respJsonError("No results found", "no_results", Http200) respJsonSuccess formatTimelineAsJson(timeline) else: - respJsonError "Invalid search" + respJsonError("Invalid search", "invalid_input", Http400) get "/api/hashtag/@hash": redirect("/search?q=" & encodeUrl("#" & @"hash")) diff --git a/src/jsons/status.nim b/src/jsons/status.nim index b58ad50fe..8258c49cd 100644 --- a/src/jsons/status.nim +++ b/src/jsons/status.nim @@ -52,7 +52,7 @@ proc createJsonApiStatusRouter*(cfg: Config) = let id = @"id" if id.len > 19 or id.any(c => not c.isDigit): - respJsonError "Invalid tweet ID" + respJsonError("Invalid tweet ID", "invalid_input", Http400) let conv = await getTweet(id, getCursor()) diff --git a/src/jsons/timeline.nim b/src/jsons/timeline.nim index 73895fc83..e6a61e90e 100644 --- a/src/jsons/timeline.nim +++ b/src/jsons/timeline.nim @@ -155,7 +155,7 @@ proc createJsonApiTimelineRouter*(cfg: Config) = if query.fromUser.len != 1: var timeline = await getGraphTweetSearch(query, after) - if timeline.content.len == 0: respJsonError "No results found" + if timeline.content.len == 0: respJsonError("No results found", "no_results", Http200) timeline.beginning = true respJsonSuccess formatTimelineAsJson(timeline) else: diff --git a/src/routes/router_utils.nim b/src/routes/router_utils.nim index 38a48b2a2..cb2ead0a2 100644 --- a/src/routes/router_utils.nim +++ b/src/routes/router_utils.nim @@ -1,6 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-only import strutils, sequtils, uri, tables, json -from jester import Request, cookies +from jester import Request, cookies, HttpCode, Http200 import ../views/general import ".."/[utils, prefs, types]