pty-ticket.ts 584 B

123456789101112131415
  1. export const PTY_CONNECT_TICKET_QUERY = "ticket"
  2. export const PTY_CONNECT_TOKEN_HEADER = "x-kirincode-ticket"
  3. export const PTY_CONNECT_TOKEN_HEADER_VALUE = "1"
  4. const PTY_CONNECT_PATH = /^\/pty\/[^/]+\/connect$/
  5. // Auth middleware skips Basic Auth when this matches; the PTY connect handler
  6. // is then responsible for validating the ticket.
  7. export function isPtyConnectPath(pathname: string) {
  8. return PTY_CONNECT_PATH.test(pathname)
  9. }
  10. export function hasPtyConnectTicketURL(url: URL) {
  11. return isPtyConnectPath(url.pathname) && !!url.searchParams.get(PTY_CONNECT_TICKET_QUERY)
  12. }