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,62 @@
package transmission
import (
"fmt"
"github.com/hekmon/transmissionrpc/v3"
"github.com/rs/zerolog"
"net/url"
"strings"
)
type (
Transmission struct {
Client *transmissionrpc.Client
Path string
Logger *zerolog.Logger
}
NewTransmissionOptions struct {
Path string
Logger *zerolog.Logger
Username string
Password string
Host string // Default: 127.0.0.1
Port int
}
)
func New(options *NewTransmissionOptions) (*Transmission, error) {
// Set default host
if options.Host == "" {
options.Host = "127.0.0.1"
}
baseUrl := fmt.Sprintf("http://%s:%s@%s:%d/transmission/rpc",
options.Username,
url.QueryEscape(options.Password),
options.Host,
options.Port,
)
if strings.HasPrefix(options.Host, "https://") {
options.Host = strings.TrimPrefix(options.Host, "https://")
baseUrl = fmt.Sprintf("https://%s:%s@%s:%d/transmission/rpc",
options.Username,
url.QueryEscape(options.Password),
options.Host,
options.Port,
)
}
_url, err := url.Parse(baseUrl)
if err != nil {
return nil, err
}
client, _ := transmissionrpc.New(_url, nil)
return &Transmission{
Client: client,
Path: options.Path,
Logger: options.Logger,
}, nil
}