Skip to content
Open
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"mocha": "^5.0.0",
"nyc": "^12.0.1",
"request": "^2.83.0",
"rimraf": "^2.6.2",
"rimraf": "^3.0.0",
"ts-node": "^7.0.0",
"typescript": "^2.6.1"
},
Expand All @@ -52,8 +52,8 @@
},
"apidoc": {
"title": "judge-blocks API",
"url": "http://judge.cb.lk/api",
"sampleUrl": "http://judge.cb.lk/api"
"url": "https://judge2.codingblocks.com/api",
"sampleUrl": "https://judge2.codingblocks.com/api"
},
"nyc": {
"extension": [
Expand Down
8 changes: 5 additions & 3 deletions src/routes/api/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ const handleTimeoutForSubmission = function (submissionId: number) {
case 'callback':
axios.post(job.callback, errorResponse)
}

delete runPool[submissionId]
}

const handleSuccessForSubmission = function (result: RunResponse) {
Expand Down Expand Up @@ -79,6 +81,8 @@ const handleSuccessForSubmission = function (result: RunResponse) {
})()
break;
}

delete runPool[result.id]
}

/**
Expand Down Expand Up @@ -109,7 +113,7 @@ const getRunPoolElement = function (body: RunRequestBody, res: Response): RunPoo
*
* @apiParam {String(Base64)} source source code to run (encoded in base64)
* @apiParam {Enum} lang Language of code to execute
* @apiParam {String(Base64)} input [Optional] stdin input for the program (encoded in base64)
* @apiParam {String(Base64)} stdin [Optional] stdin input for the program (encoded in base64)
* @apiParam {Enum} mode [Optional] mode for request. Default = `sync`, see: https://github.com/coding-blocks/judge-api/issues/16
* @apiParam {String)} callback [Optional] callback url for request. Required for `mode = callback`
* @apiParam {String)} enc [Optional] Encoding type for stdin and source. Can be `url`|`base64`. Default = 'base64'
Expand Down Expand Up @@ -172,7 +176,6 @@ route.post('/', (req, res, next) => {
setTimeout(() => {
if (runPool[submission.id]) {
handleTimeoutForSubmission(submission.id)
delete runPool[submission.id]
}
}, config.RUN.TIMEOUT)

Expand All @@ -198,7 +201,6 @@ route.post('/', (req, res, next) => {
successListener.on('success', (result: RunResponse) => {
if (runPool[result.id]) {
handleSuccessForSubmission(result)
delete runPool[result.id]
}
Submissions.update(<any>{
end_time: new Date()
Expand Down
4 changes: 2 additions & 2 deletions src/utils/s3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import config = require('../../config')

const client = new Minio.Client({
endPoint: config.S3.endpoint,
port: config.S3.port,
useSSL: config.S3.ssl,
port: +config.S3.port,
useSSL: !!config.S3.ssl,
accessKey: config.S3.accessKey,
secretKey: config.S3.secretKey,
})
Expand Down
5 changes: 3 additions & 2 deletions src/validators/ApiKeyValidators.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import {ApiKeyAttrs, ApiKeys} from '../db/models'

export function checkValidApiKey (req: Request): Promise<boolean> {
return new Promise((resolve, reject) => {
let apiKey = req.header('Authorization').split('Bearer ')[1]
let apiKey = req.header('Authorization')
apiKey = apiKey && apiKey.split('Bearer ')[1]
if (!apiKey) {
reject(new Error('No API Key in request'))
}
Expand Down Expand Up @@ -42,4 +43,4 @@ export function checkValidApiKey (req: Request): Promise<boolean> {



}
}