Skip to content

Commit c669dcb

Browse files
authored
move server close to after conclusion (#21)
1 parent 7ddf659 commit c669dcb

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

src/commands/login/index.ts

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -84,26 +84,30 @@ export default class LoginIndex extends Command {
8484
// Extract the JWT and email from query parameters
8585
const jwt = url.searchParams.get('jwt')
8686
const email = url.searchParams.get('email')
87-
88-
if (jwt && email) {
87+
try {
88+
if (jwt && email) {
8989
// Send response back to browser indicating success
90-
res.writeHead(200, {'Content-Type': 'text/html'})
91-
res.end(loginHTML)
92-
93-
// Close the server once JWT and eamail are captured
94-
server.close()
90+
res.writeHead(200, {'Content-Type': 'text/html'})
91+
res.end(loginHTML)
9592

96-
const orgs = await sendGraphQLRequest(jwt)
97-
const selectedOrg = await promptOrgSelection(orgs)
98-
// Store JWT and email securely
99-
this.writeToEnvFile(jwt, email, selectedOrg.id)
93+
const orgs = await sendGraphQLRequest(jwt)
94+
const selectedOrg = await promptOrgSelection(orgs)
95+
// Store JWT and email securely
96+
await this.writeToEnvFile(jwt, email, selectedOrg.id)
10097

101-
// Confirm successful login in the CLI
102-
this.log('Successfully logged in as ' + chalk.dim(email) + '! 🎉')
103-
} else {
98+
// Confirm successful login in the CLI
99+
this.log('Successfully logged in as ' + chalk.dim(email) + '! 🎉')
100+
} else {
104101
// Respond with an error if JWT or email is missing
105-
res.writeHead(400, {'Content-Type': 'text/plain'})
106-
res.end('JWT or email not found in the request.')
102+
res.writeHead(400, {'Content-Type': 'text/plain'})
103+
res.end('JWT or email not found in the request.')
104+
}
105+
} catch {
106+
// Respond with an error if an error occurs
107+
res.writeHead(500, {'Content-Type': 'text/plain'})
108+
res.end('An error occurred during authentication.')
109+
} finally {
110+
server.close()
107111
}
108112
})
109113

0 commit comments

Comments
 (0)