Overview
libdaap
SourceForge

DAAP - Server Info Request

This request serves to return information about the server, such as the versions of the protocols it is using, its name, and its capabilities.

Back to URI List.

Sample Request

GET /server-info HTTP/1.1
Host: daap.example.com
Accept: */*
User-Agent: iTunes/4.0 (Macintosh; N; PPC)
Client-DAAP-Version: 1.0
Accept-Encoding: gzip

Sample Response

HTTP/1.1 200 OK
Date: Thu, 01 May 2003 18:00:28 GMT
DAAP-Server: iTunes/4.0 (Mac OS X)
Content-Type: application/x-dmap-tagged
Content-Length: 122
Content-Encoding: gzip

Server Info

The dmap.serverinforesponse ('msrv') is the root container of the response. It contains the following fields:

name type description
dmap.status mstt Response status code as in every response
dmap.protocolversion mpro Version of the DMAP protocol, currently 1.0.0
daap.protocolversion apro Version of the DAAP protocol, currently 1.0.0
dmap.itemname minm Server name
dmap.loginrequired mslr If present, the client must log in to run queries
dmap.timeoutinterval mstm The amount of time before a connection times out
dmap.supportsautologout msal If present, the server can automatically log clients out
dmap.supportsupdate msup If present, the server supports /update
dmap.supportspersistentids mspi If present, the server supports persitent IDs
dmap.supportsextensions msex If present, the server supports extensions (?)
dmap.supportsbrowse msbr If present, the server supports browse (?)
dmap.supportsquery msqy If present, the server supports query (?)
dmap.supportsindex msix If present, the server supports index (?)
dmap.supportsresolve msrs If present, the server supports /resolve
dmap.databasescount msdc The number of databases the server knows about

All the items with (?) after them are things that I'm not sure about. They most probably are request types that I haven't encountered yet. Also, I'm not entirely sure how iTunes would react to a server that claimed that it didn't have certain functionality, like login or persistent IDs.

dmap.serverinforesponse = {
  dmap.status = 200
  dmap.protocolversion = "1.0"
  daap.protocolversion = "1.0"
  dmap.itemname = "Example Server"
  dmap.loginrequired = 0
  dmap.timeoutinterval = 1800
  dmap.supportsautologout = 0
  dmap.supportsupdate = 0
  dmap.supportspersistentids = 0
  dmap.supportsextensions = 0
  dmap.supportsbrowse = 0
  dmap.supportsquery = 0
  dmap.supportsindex = 0
  dmap.supportsresolve = 0
  dmap.databasescount = 1
}