node build fixed

This commit is contained in:
ra_ma
2025-09-20 14:08:38 +01:00
parent c6ebbe069d
commit 3d298fa434
1516 changed files with 535727 additions and 2 deletions

View File

@@ -0,0 +1,66 @@
package vlc
// https://github.com/CedArctic/go-vlc-ctrl/tree/master
import (
"fmt"
"github.com/rs/zerolog"
"io"
"net/http"
"strconv"
)
// VLC struct represents an http interface enabled VLC instance. Build using NewVLC()
type VLC struct {
Host string
Port int
Password string
Path string
Logger *zerolog.Logger
}
func (vlc *VLC) url() string {
return fmt.Sprintf("http://%s:%s", vlc.Host, strconv.Itoa(vlc.Port))
}
// RequestMaker make requests to VLC using a urlSegment provided by other functions
func (vlc *VLC) RequestMaker(urlSegment string) (response string, err error) {
// Form a GET Request
client := &http.Client{}
request, reqErr := http.NewRequest("GET", vlc.url()+urlSegment, nil)
if reqErr != nil {
err = fmt.Errorf("http request error: %s\n", reqErr)
return
}
// Make a GET request
request.SetBasicAuth("", vlc.Password)
reqResponse, resErr := client.Do(request)
if resErr != nil {
err = fmt.Errorf("http response error: %s\n", resErr)
return
}
defer func() {
reqResponse.Body.Close()
}()
// Check HTTP status code and errors
statusCode := reqResponse.StatusCode
if !((statusCode >= 200) && (statusCode <= 299)) {
err = fmt.Errorf("http error code: %d\n", statusCode)
return "", err
}
// Get byte response and http status code
byteArr, readErr := io.ReadAll(reqResponse.Body)
if readErr != nil {
err = fmt.Errorf("error reading response: %s\n", readErr)
return
}
// Write response
response = string(byteArr)
return
}