feat: load packet logs from directory source
This commit is contained in:
@@ -17,6 +17,7 @@ const (
|
||||
ServerTitle = "iSphere AI Bridge"
|
||||
ServerVersion = "0.1.0"
|
||||
EnvPacketLogFileKey = "ISPHERE_PACKET_LOG_FILE"
|
||||
EnvPacketLogDirKey = "ISPHERE_PACKET_LOG_DIR"
|
||||
)
|
||||
|
||||
func NewServer() *mcp.Server {
|
||||
@@ -26,12 +27,22 @@ func NewServer() *mcp.Server {
|
||||
func NewServerFromEnv() (*mcp.Server, error) {
|
||||
var source tools.ReceiveMessagesSource = isphere.EncryptedPacketLogSource{}
|
||||
packetLogFile := strings.TrimSpace(os.Getenv(EnvPacketLogFileKey))
|
||||
packetLogDir := strings.TrimSpace(os.Getenv(EnvPacketLogDirKey))
|
||||
if packetLogFile != "" && packetLogDir != "" {
|
||||
return nil, fmt.Errorf("configure packet log source: set only one of %s or %s", EnvPacketLogFileKey, EnvPacketLogDirKey)
|
||||
}
|
||||
if packetLogFile != "" {
|
||||
loaded, err := isphere.LoadEncryptedPacketLogSourceFromFile(packetLogFile)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("configure %s: %w", EnvPacketLogFileKey, err)
|
||||
}
|
||||
source = loaded
|
||||
} else if packetLogDir != "" {
|
||||
loaded, err := isphere.LoadEncryptedPacketLogSourceFromDirectory(packetLogDir)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("configure %s: %w", EnvPacketLogDirKey, err)
|
||||
}
|
||||
source = loaded
|
||||
}
|
||||
return NewServerWithReceiveSource(source), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user