api.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import "net/http"
  3. func registerAPIRoutes() {
  4. // Start the web server
  5. http.Handle("/", http.FileServer(webfs))
  6. http.HandleFunc("/hid", usbKVM.HIDWebSocketHandler)
  7. http.HandleFunc("/audio", usbCaptureDevice.AudioStreamingHandler)
  8. http.HandleFunc("/stream", usbCaptureDevice.ServeVideoStream)
  9. }
  10. // Aux APIs for USB KVM mode
  11. func registerLocalAuxRoutes() {
  12. http.HandleFunc("/aux/switchusbkvm", auxMCU.HandleSwitchUSBToKVM)
  13. http.HandleFunc("/aux/switchusbremote", auxMCU.HandleSwitchUSBToRemote)
  14. http.HandleFunc("/aux/presspower", auxMCU.HandlePressPowerButton)
  15. http.HandleFunc("/aux/releasepower", auxMCU.HandleReleasePowerButton)
  16. http.HandleFunc("/aux/pressreset", auxMCU.HandlePressResetButton)
  17. http.HandleFunc("/aux/releasereset", auxMCU.HandleReleaseResetButton)
  18. http.HandleFunc("/aux/getuuid", auxMCU.HandleGetUUID)
  19. }
  20. // Dummy Aux APIs for setups that do not have an aux MCU
  21. func registerDummyLocalAuxRoutes() {
  22. dummyHandler := func(w http.ResponseWriter, r *http.Request) {
  23. w.WriteHeader(http.StatusNotImplemented)
  24. w.Write([]byte("Not implemented"))
  25. }
  26. http.HandleFunc("/aux/switchusbkvm", dummyHandler)
  27. http.HandleFunc("/aux/switchusbremote", dummyHandler)
  28. http.HandleFunc("/aux/presspower", dummyHandler)
  29. http.HandleFunc("/aux/releasepower", dummyHandler)
  30. http.HandleFunc("/aux/pressreset", dummyHandler)
  31. http.HandleFunc("/aux/releasereset", dummyHandler)
  32. http.HandleFunc("/aux/getuuid", dummyHandler)
  33. }