github.com/xhghs/rclone@v1.51.1-0.20200430155106-e186a28cced8/cmd/serve/dlna/cms.go (about)

     1  package dlna
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/anacrolix/dms/upnp"
     7  )
     8  
     9  const defaultProtocolInfo = "http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*"
    10  
    11  type connectionManagerService struct {
    12  	*server
    13  	upnp.Eventing
    14  }
    15  
    16  func (cms *connectionManagerService) Handle(action string, argsXML []byte, r *http.Request) (map[string]string, error) {
    17  	switch action {
    18  	case "GetProtocolInfo":
    19  		return map[string]string{
    20  			"Source": defaultProtocolInfo,
    21  			"Sink":   "",
    22  		}, nil
    23  	default:
    24  		return nil, upnp.InvalidActionError
    25  	}
    26  }