about summary refs log tree commit diff
path: root/assets/src
diff options
context:
space:
mode:
authorMelonai <einebeere@gmail.com>2021-08-16 18:17:06 +0200
committerMelonai <einebeere@gmail.com>2021-08-16 18:17:06 +0200
commita7af012b92f0dfd90cc3eb570e03144016646180 (patch)
treef73d402f1d74459195967928346d26ad195a2a73 /assets/src
parent877f2aa4cc5890214f0c58813c4b498f8be1236d (diff)
downloadrook-a7af012b92f0dfd90cc3eb570e03144016646180.tar.zst
rook-a7af012b92f0dfd90cc3eb570e03144016646180.zip
Ability to pass request info through pipeline
Diffstat (limited to 'assets/src')
-rw-r--r--assets/src/components/share/Request.svelte6
-rw-r--r--assets/src/models/incoming_request.ts16
-rw-r--r--assets/src/network/channel/messages/messages.ts3
-rw-r--r--assets/src/network/channel/share_connection.ts7
-rw-r--r--assets/src/network/channel/socket.ts1
5 files changed, 28 insertions, 5 deletions
diff --git a/assets/src/components/share/Request.svelte b/assets/src/components/share/Request.svelte
index a5e77e7..e554bfe 100644
--- a/assets/src/components/share/Request.svelte
+++ b/assets/src/components/share/Request.svelte
@@ -36,9 +36,9 @@
     {/if}
 
     <li>Requested at {time}</li>
-    <li class="ip">{request.info.token}</li>
-    <li>Trusowo, Russia</li>
-    <li>Firefox 89</li>
+    <li class="ip">{request.info.ip}</li>
+    <li>{request.info.location}</li>
+    <li>{request.info.client}</li>
 
     {#if $state === IncomingRequestState.IN_FLIGHT}
         Transferring...
diff --git a/assets/src/models/incoming_request.ts b/assets/src/models/incoming_request.ts
index 8a8d7fb..4af1e02 100644
--- a/assets/src/models/incoming_request.ts
+++ b/assets/src/models/incoming_request.ts
@@ -18,6 +18,11 @@ export enum IncomingRequestState {
 // Identifying information about the requestor
 export type IncomingRequestInfo = {
     token: string;
+
+    ip: string;
+    location: string;
+    client: string;
+
     receivedAt: Date;
 };
 
@@ -31,9 +36,18 @@ export type IncomingRequest = {
 };
 
 // Create a model for a new incoming request
-export function newIncomingRequest(token: string): IncomingRequest {
+export function newIncomingRequest(
+    token: string,
+    ip: string,
+    location: string,
+    client: string
+): IncomingRequest {
     const info = {
         token,
+        ip,
+        location,
+        client,
+
         receivedAt: new Date(),
     };
 
diff --git a/assets/src/network/channel/messages/messages.ts b/assets/src/network/channel/messages/messages.ts
index 67f70ac..24380ae 100644
--- a/assets/src/network/channel/messages/messages.ts
+++ b/assets/src/network/channel/messages/messages.ts
@@ -17,6 +17,9 @@ export type ShareMessage =
 
 export type NewRequestMessage = {
     event_name: "new_request";
+    ip: string;
+    location: string;
+    client: string;
     token: string;
 };
 
diff --git a/assets/src/network/channel/share_connection.ts b/assets/src/network/channel/share_connection.ts
index 1bb4f14..bdc2b8e 100644
--- a/assets/src/network/channel/share_connection.ts
+++ b/assets/src/network/channel/share_connection.ts
@@ -35,7 +35,12 @@ export async function startShareConnection() {
 function onNewRequest(message: NewRequestMessage) {
     const token = message.token;
 
-    const request = newIncomingRequest(token);
+    const request = newIncomingRequest(
+        token,
+        message.ip,
+        message.location,
+        message.client
+    );
     requests.addRequest(request);
 
     const unregister = onWithToken(
diff --git a/assets/src/network/channel/socket.ts b/assets/src/network/channel/socket.ts
index 7d14842..9d95577 100644
--- a/assets/src/network/channel/socket.ts
+++ b/assets/src/network/channel/socket.ts
@@ -39,6 +39,7 @@ export function joinRequestChannel(
 ): Promise<Channel> {
     return joinChannel(socket, `request:${request_token}`, {
         share: share_token,
+        user_agent: navigator.userAgent,
     });
 }