added more clear output
This commit is contained in:
		
							parent
							
								
									3e4722e3ca
								
							
						
					
					
						commit
						555d235c3d
					
				
							
								
								
									
										6
									
								
								.env
								
								
								
								
							
							
						
						
									
										6
									
								
								.env
								
								
								
								
							| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
#!/usr/bin/env sh
 | 
			
		||||
 | 
			
		||||
export DB_HOST="172.17.0.2"
 | 
			
		||||
export DB_HOST="127.0.0.1"
 | 
			
		||||
export DB_PORT=3306
 | 
			
		||||
export DB_USERNAME="root"
 | 
			
		||||
export DB_PASSWORD="root"
 | 
			
		||||
export DB_USERNAME="mysql"
 | 
			
		||||
export DB_PASSWORD="mysql"
 | 
			
		||||
export DB_NAME="gomatic"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,4 @@
 | 
			
		|||
.env
 | 
			
		||||
gontrol
 | 
			
		||||
bin/*
 | 
			
		||||
build/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -165,10 +165,24 @@ func Server() (*http.Server) {
 | 
			
		|||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	corsMiddleware := func(next http.Handler) http.Handler {
 | 
			
		||||
        return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
            w.Header().Set("Access-Control-Allow-Origin", "*") // Allow the WebUI origin
 | 
			
		||||
            w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
 | 
			
		||||
            w.Header().Set("Access-Control-Allow-Headers", "Content-Type, HX-Current-URL, HX-Request, HX-Target, HX-Trigger, HX-Trigger-Name")
 | 
			
		||||
            if r.Method == "OPTIONS" {
 | 
			
		||||
                // Handle preflight requests
 | 
			
		||||
                w.WriteHeader(http.StatusOK)
 | 
			
		||||
                return
 | 
			
		||||
            }
 | 
			
		||||
            next.ServeHTTP(w, r)
 | 
			
		||||
        })
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	webSocketMux := http.NewServeMux()
 | 
			
		||||
	webSocketMux.Handle("/data", webSocketHandler)
 | 
			
		||||
	webSocketMux.Handle("/executeCommand", executeCommand)
 | 
			
		||||
	webSocketMux.Handle("/agentNames", getAgentNames)
 | 
			
		||||
	webSocketMux.Handle("/executeCommand", corsMiddleware(http.HandlerFunc(executeCommand)))
 | 
			
		||||
	webSocketMux.Handle("/agentNames", corsMiddleware(http.HandlerFunc(getAgentNames)))
 | 
			
		||||
	websocketServer := &http.Server{
 | 
			
		||||
		Addr: ":5555",
 | 
			
		||||
		Handler: webSocketMux,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,23 @@
 | 
			
		|||
                });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(error => console.error('Error fetching agent names:', error));
 | 
			
		||||
 | 
			
		||||
        const socket = new WebSocket("ws://localhost:5555/data");
 | 
			
		||||
        socket.onmessage = (event) => {
 | 
			
		||||
            const message = JSON.parse(event.data);
 | 
			
		||||
            if (message.type === 'response') {
 | 
			
		||||
                const output = document.getElementById('commandOutput');
 | 
			
		||||
                output.textContent = message.payload;
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        socket.onerror = (error) => {
 | 
			
		||||
            console.error("Websocket error:", error);
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        socket.onclose = () => {
 | 
			
		||||
            console.warn('Websocket connection closed.');
 | 
			
		||||
        };
 | 
			
		||||
    });
 | 
			
		||||
    </script>
 | 
			
		||||
</head>
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +62,7 @@
 | 
			
		|||
                <!-- Agent Commands -->
 | 
			
		||||
                <div id="agentCommands">
 | 
			
		||||
                    <h3>Command Execution</h3>
 | 
			
		||||
                    <form hx-post="/executeCommand" hx-target="#commandOutput" hx-swap="innerHTML">
 | 
			
		||||
                    <form hx-post="http://localhost:5555/executeCommand" hx-target="#commandOutput" hx-encoding="application/x-www-form-urlencoded"  hx-swap="innerHTML">
 | 
			
		||||
                        <div class="mb-3">
 | 
			
		||||
                            <label for="agentName" class="form-label">Agent Name</label>
 | 
			
		||||
                            <select class="form-select" id="agentName" name="agentName" required>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue