Move VS Code to the root

This commit is contained in:
Asher
2020-03-02 12:43:02 -06:00
parent c146457de4
commit 069c5230cd
20 changed files with 297 additions and 266 deletions

39
src/node/app/static.ts Normal file
View File

@@ -0,0 +1,39 @@
import * as http from "http"
import { HttpCode, HttpError } from "../../common/http"
import { HttpProvider, HttpResponse, Route } from "../http"
/**
* Static file HTTP provider. Static requests do not require authentication and
* they only allow access to resources within the application.
*/
export class StaticHttpProvider extends HttpProvider {
public async handleRequest(route: Route, request: http.IncomingMessage): Promise<HttpResponse> {
this.ensureMethod(request)
const response = await this.getReplacedResource(route)
if (!this.isDev) {
response.cache = true
}
return response
}
/**
* Return a resource with variables replaced where necessary.
*/
protected async getReplacedResource(route: Route): Promise<HttpResponse> {
// The first part is always the commit (for caching purposes).
const split = route.requestPath.split("/").slice(1)
switch (split[split.length - 1]) {
case "manifest.json":
case "extensionHostWorkerMain.js": {
const response = await this.getUtf8Resource(this.rootPath, ...split)
return this.replaceTemplates(route, response)
}
}
return this.getResource(this.rootPath, ...split)
}
public async handleWebSocket(): Promise<true> {
throw new HttpError("Not found", HttpCode.NotFound)
}
}