feat: add basic local login handler in dev cli

This commit is contained in:
2023-03-20 16:40:08 +01:00
parent fd12d2ba42
commit 1f4f795d43
23 changed files with 1060 additions and 145 deletions

View File

@ -3862,6 +3862,8 @@ var Edge = (() => {
// pkg/sdk/client/src/client.ts
var import_sockjs_client = __toESM(require_entry());
var EventTypeMessage = "message";
var EdgeAuth = "edge-auth";
var Client = class extends EventTarget {
constructor(autoReconnect = true) {
super();
@ -3880,11 +3882,14 @@ var Edge = (() => {
this.rpc = this.rpc.bind(this);
this.send = this.send.bind(this);
this.upload = this.upload.bind(this);
this.addEventListener("message", this._handleRPCResponse);
this.addEventListener(EventTypeMessage, this._handleRPCResponse);
}
connect(token = "") {
return new Promise((resolve, reject) => {
const url = `//${document.location.host}/edge/sock?token=${token}`;
if (token == "") {
token = this._getAuthCookieToken();
}
const url = `//${document.location.host}/edge/sock?${EdgeAuth}=${token}`;
this._log("opening connection to", url);
const conn = new import_sockjs_client.default(url);
const onOpen = () => {
@ -3917,6 +3922,13 @@ var Edge = (() => {
disconnect() {
this._cleanupConnection();
}
_getAuthCookieToken() {
const cookie = document.cookie.split("; ").find((row) => row.startsWith(EdgeAuth));
if (cookie) {
return cookie.split("=")[1];
}
return "";
}
_onConnectionMessage(evt) {
const rawMessage = JSON.parse(evt.data);
const message = messageFrom(rawMessage);
@ -4006,7 +4018,7 @@ var Edge = (() => {
}
}
send(data) {
const msg = new Message("message", data);
const msg = new Message(TypeMessage, data);
this._sendOrQueue(msg);
}
rpc(method, params) {

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,10 @@
import { EventTarget } from "./event-target";
import { messageFrom,Message, TypeMessage } from "./message";
import { messageFrom, Message, TypeMessage } from "./message";
import { RPCError } from "./rpc-error";
import SockJS from 'sockjs-client';
const EventTypeMessage = "message";
const EdgeAuth = "edge-auth"
export class Client extends EventTarget {
@ -35,12 +36,16 @@ export class Client extends EventTarget {
this.send = this.send.bind(this);
this.upload = this.upload.bind(this);
this.addEventListener("message", this._handleRPCResponse);
this.addEventListener(EventTypeMessage, this._handleRPCResponse);
}
connect(token = "") {
return new Promise((resolve, reject) => {
const url = `//${document.location.host}/edge/sock?token=${token}`;
if (token == "") {
token = this._getAuthCookieToken()
}
const url = `//${document.location.host}/edge/sock?${EdgeAuth}=${token}`;
this._log("opening connection to", url);
const conn: any = new SockJS(url);
@ -79,6 +84,17 @@ export class Client extends EventTarget {
this._cleanupConnection();
}
_getAuthCookieToken() {
const cookie = document.cookie.split("; ")
.find((row) => row.startsWith(EdgeAuth));
if (cookie) {
return cookie.split("=")[1];
}
return "";
}
_onConnectionMessage(evt) {
const rawMessage = JSON.parse(evt.data);
const message = messageFrom(rawMessage);
@ -179,7 +195,7 @@ export class Client extends EventTarget {
}
send(data) {
const msg = new Message("message", data);
const msg = new Message(TypeMessage, data);
this._sendOrQueue(msg);
}