@@ -5,8 +5,8 @@ import split2 from "split2"
55
66const coderCloudAgent = path . resolve ( __dirname , "../../lib/coder-cloud-agent" )
77
8- export async function coderCloudBind ( serverName : string ) : Promise < void > {
9- const agent = spawn ( coderCloudAgent , [ "link" , serverName ] , {
8+ function runAgent ( ... args : string [ ] ) : Promise < void > {
9+ const agent = spawn ( coderCloudAgent , args , {
1010 stdio : [ "inherit" , "inherit" , "pipe" ] ,
1111 } )
1212
@@ -30,43 +30,9 @@ export async function coderCloudBind(serverName: string): Promise<void> {
3030 } )
3131}
3232
33- export function coderCloudProxy ( addr : string ) {
33+ export function coderCloudBind ( csAddr : string , serverName = "" ) : Promise < void > {
3434 // addr needs to be in host:port format.
3535 // So we trim the protocol.
36- addr = addr . replace ( / ^ h t t p s ? : \/ \/ / , "" )
37-
38- const _proxy = async ( ) => {
39- const agent = spawn ( coderCloudAgent , [ "proxy" , "--code-server-addr" , addr ] , {
40- stdio : [ "inherit" , "inherit" , "pipe" ] ,
41- } )
42-
43- agent . stderr . pipe ( split2 ( ) ) . on ( "data" , ( line ) => {
44- line = line . replace ( / ^ [ 0 - 9 - ] + [ 0 - 9 : ] + [ ^ ] + \t / , "" )
45- logger . info ( line )
46- } )
47-
48- return new Promise ( ( res , rej ) => {
49- agent . on ( "error" , rej )
50-
51- agent . on ( "close" , ( code ) => {
52- if ( code !== 0 ) {
53- rej ( {
54- message : `coder cloud agent exited with ${ code } ` ,
55- } )
56- return
57- }
58- res ( )
59- } )
60- } )
61- }
62-
63- const proxy = async ( ) => {
64- try {
65- await _proxy ( )
66- } catch ( err ) {
67- logger . error ( err . message )
68- }
69- setTimeout ( proxy , 3000 )
70- }
71- proxy ( )
36+ csAddr = csAddr . replace ( / ^ h t t p s ? : \/ \/ / , "" )
37+ return runAgent ( "bind" , `--code-server-addr=${ csAddr } ` , serverName )
7238}
0 commit comments