Skip to content

Commit

Permalink
Added logging including body of unknown AirPlay requests to facilitat…
Browse files Browse the repository at this point in the history
…e debugging.
  • Loading branch information
provegard committed Jan 8, 2012
1 parent e5d9be9 commit bbc0045
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
4 changes: 2 additions & 2 deletions airpnp/AirPlayService.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from twisted.python import log
from twisted.application.service import MultiService
from twisted.application.internet import TCPServer
from twisted.web import error, server
from twisted.web import server
from twisted.internet import defer
from httplib import HTTPMessage
from cStringIO import StringIO
Expand Down Expand Up @@ -259,7 +259,7 @@ def __init__(self, apserver, name=None, host="0.0.0.0", port=22555, index=-1):
self.port = port

def create_site(self):
root = error.NoResource()
root = LogNoResource()
root.putChild("playback-info", PlaybackInfoResource(self.apserver))
root.putChild("play", PlayResource(self.apserver))
root.putChild("stop", StopResource(self.apserver))
Expand Down
11 changes: 10 additions & 1 deletion airpnp/airplayserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
'IAirPlayServer',
'SessionRejectedError',
'SetPropertyResource',
'LogNoResource',
'CT_BINARY_PLIST',
'CT_TEXT_PLIST',
]
Expand Down Expand Up @@ -110,7 +111,7 @@ def __init__(self, apserver):

def render(self, request):
log.msg("Got AirPlay request, URI = %s, %r"
% (request.uri, request.requestHeaders), ll=3)
% (request.uri, request.getAllHeaders()), ll=3)
sid = request.getHeader("X-Apple-Session-Id")
ret = ""
try:
Expand Down Expand Up @@ -181,3 +182,11 @@ def render_PUT(self, request):
else:
raise Exception("Unexpected content type for setProperty: %s" % ctype)
return ""


class LogNoResource(resource.NoResource):
def render(self, request):
body = request.content.read()
log.msg("Unknown AirPlay request: %s %s, headers = %r, body = %r"
% (request.method, request.uri, request.getAllHeaders(), body), ll=3)
return resource.NoResource.render(self, request)

0 comments on commit bbc0045

Please sign in to comment.