3939logger = logging .getLogger (__name__ )
4040
4141
42- class ApiLoginHandler (ContestHandler ):
42+ class ApiContestHandler (ContestHandler ):
43+ """An extension of ContestHandler marking the request as a part of the API.
44+
45+ """
46+
47+ def __init__ (self , * args , ** kwargs ):
48+ super ().__init__ (* args , ** kwargs )
49+ self .api_request = True
50+
51+
52+ class ApiLoginHandler (ApiContestHandler ):
4353 """Login handler.
4454
4555 """
@@ -87,7 +97,7 @@ def check_xsrf_cookie(self):
8797 pass
8898
8999
90- class ApiTaskListHandler (ContestHandler ):
100+ class ApiTaskListHandler (ApiContestHandler ):
91101 """Handler to list all tasks and their statements.
92102
93103 """
@@ -107,7 +117,7 @@ def get(self):
107117 self .json ({"tasks" : tasks })
108118
109119
110- class ApiSubmitHandler (ContestHandler ):
120+ class ApiSubmitHandler (ApiContestHandler ):
111121 """Handles the received submissions.
112122
113123 """
@@ -142,7 +152,7 @@ def post(self, task_name: str):
142152 self .json ({'id' : str (submission .opaque_id )})
143153
144154
145- class ApiSubmissionListHandler (ContestHandler ):
155+ class ApiSubmissionListHandler (ApiContestHandler ):
146156 """Retrieves the list of submissions on a task.
147157
148158 """
0 commit comments