mirror of
https://git.tuxpa.in/a/code-server.git
synced 2025-01-06 00:38:46 +00:00
2d8b785fb8
Forgot to resume. Went ahead and did the same for the test plugin although it only sends messages and doesn't receive any.
53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
import * as cs from "code-server"
|
|
import * as fspath from "path"
|
|
|
|
export const plugin: cs.Plugin = {
|
|
displayName: "Test Plugin",
|
|
routerPath: "/test-plugin",
|
|
homepageURL: "https://example.com",
|
|
description: "Plugin used in code-server tests.",
|
|
|
|
init(config) {
|
|
config.logger.debug("test-plugin loaded!")
|
|
},
|
|
|
|
router() {
|
|
const r = cs.express.Router()
|
|
r.get("/test-app", (_, res) => {
|
|
res.sendFile(fspath.resolve(__dirname, "../public/index.html"))
|
|
})
|
|
r.get("/goland/icon.svg", (_, res) => {
|
|
res.sendFile(fspath.resolve(__dirname, "../public/icon.svg"))
|
|
})
|
|
r.get("/error", () => {
|
|
throw new cs.HttpError("error", cs.HttpCode.LargePayload)
|
|
})
|
|
return r
|
|
},
|
|
|
|
wsRouter() {
|
|
const wr = cs.WsRouter()
|
|
wr.ws("/test-app", (req) => {
|
|
cs.wss.handleUpgrade(req, req.ws, req.head, (ws) => {
|
|
req.ws.resume()
|
|
ws.send("hello")
|
|
})
|
|
})
|
|
return wr
|
|
},
|
|
|
|
applications() {
|
|
return [
|
|
{
|
|
name: "Test App",
|
|
version: "4.0.0",
|
|
iconPath: "/icon.svg",
|
|
path: "/test-app",
|
|
|
|
description: "This app does XYZ.",
|
|
homepageURL: "https://example.com",
|
|
},
|
|
]
|
|
},
|
|
}
|