@@ -16,7 +16,7 @@ import {
16
16
SessionError ,
17
17
SessionResponse ,
18
18
} from "../../common/api"
19
- import { ApiEndpoint , HttpCode } from "../../common/http"
19
+ import { ApiEndpoint , HttpCode , HttpError } from "../../common/http"
20
20
import { normalize } from "../../common/util"
21
21
import { HttpProvider , HttpProviderOptions , HttpResponse , HttpServer , Route } from "../http"
22
22
import { findApplications , findWhitelistedApplications , Vscode } from "./bin"
@@ -57,10 +57,9 @@ export class ApiHttpProvider extends HttpProvider {
57
57
} )
58
58
}
59
59
60
- public async handleRequest ( route : Route , request : http . IncomingMessage ) : Promise < HttpResponse | undefined > {
61
- if ( ! this . authenticated ( request ) ) {
62
- return { code : HttpCode . Unauthorized }
63
- }
60
+ public async handleRequest ( route : Route , request : http . IncomingMessage ) : Promise < HttpResponse > {
61
+ this . ensureAuthenticated ( request )
62
+
64
63
switch ( route . base ) {
65
64
case ApiEndpoint . applications :
66
65
this . ensureMethod ( request )
@@ -82,15 +81,16 @@ export class ApiHttpProvider extends HttpProvider {
82
81
content : await this . running ( ) ,
83
82
} as HttpResponse < RunningResponse >
84
83
}
85
- return undefined
84
+
85
+ throw new HttpError ( "Not found" , HttpCode . NotFound )
86
86
}
87
87
88
88
public async handleWebSocket (
89
89
route : Route ,
90
90
request : http . IncomingMessage ,
91
91
socket : net . Socket ,
92
92
head : Buffer ,
93
- ) : Promise < true | undefined > {
93
+ ) : Promise < true > {
94
94
if ( ! this . authenticated ( request ) ) {
95
95
throw new Error ( "not authenticated" )
96
96
}
@@ -100,7 +100,8 @@ export class ApiHttpProvider extends HttpProvider {
100
100
case ApiEndpoint . run :
101
101
return this . handleRunSocket ( route , request , socket , head )
102
102
}
103
- return undefined
103
+
104
+ throw new HttpError ( "Not found" , HttpCode . NotFound )
104
105
}
105
106
106
107
private async handleStatusSocket ( request : http . IncomingMessage , socket : net . Socket , head : Buffer ) : Promise < true > {
@@ -220,12 +221,12 @@ export class ApiHttpProvider extends HttpProvider {
220
221
/**
221
222
* Handle /session endpoint.
222
223
*/
223
- private async session ( request : http . IncomingMessage ) : Promise < HttpResponse | undefined > {
224
+ private async session ( request : http . IncomingMessage ) : Promise < HttpResponse > {
224
225
this . ensureMethod ( request , [ "DELETE" , "POST" ] )
225
226
226
227
const data = await this . getData ( request )
227
228
if ( ! data ) {
228
- return undefined
229
+ throw new HttpError ( "Not found" , HttpCode . NotFound )
229
230
}
230
231
231
232
switch ( request . method ) {
@@ -252,7 +253,7 @@ export class ApiHttpProvider extends HttpProvider {
252
253
}
253
254
}
254
255
255
- return undefined
256
+ throw new HttpError ( "Not found" , HttpCode . NotFound )
256
257
}
257
258
258
259
/**
0 commit comments