<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -34,4 +34,8 @@ Examples:
 listening api
 
 POST http://localhost/smtp:listen:25
-  callback=http://somecallback
\ No newline at end of file
+  callback=http://somecallback
+  token=mytoken
+
+GET http://localhost/smtp:listen:25
+    &quot;mytoken&quot;
\ No newline at end of file</diff>
      <filename>NOTES</filename>
    </modified>
    <modified>
      <diff>@@ -12,13 +12,13 @@ def connect(protocol, host, port = None, request = None, deferred = None):
     reactor.connectTCP(host, port or module.default_port or 1, f)
     return f.deferred
 
-def listen(protocol, port = None, request = None):
+def listen(protocol, port = None, request = None, token = None):
     module = __import__('.'.join(['pdroid', 'servers', protocol]), globals(), locals(), ['factory', 'default_port'])
     if port in listeners:
         f = listeners[port]
         f.relisten(request)
     else:
-        f = module.factory(port, request)
+        f = listeners[port] = module.factory(port, request, token)
         reactor.listenTCP(port or module.default_port or 1, f)
     return f
     </diff>
      <filename>pdroid/__init__.py</filename>
    </modified>
    <modified>
      <diff>@@ -27,12 +27,19 @@ class ConnectorResource(Resource):
         port = int(port) if port else None
         request.protocol = protocol
         if host == 'listen':
-            try:
-                pdroid.listen(protocol, port, request)
-                request.setResponseCode(http.ACCEPTED)
-                return &quot;202 Listening on port %s&quot; % port
-            except ImportError, e:
-                return e.message
+            if request.method == 'GET':
+                if port in pdroid.listeners:
+                    return pdroid.listeners[port].token or &quot;&quot;
+                else:
+                    request.setResponseCode(http.NOT_FOUND)
+                    return &quot;404 Not listening&quot;
+            else:
+                try:
+                    pdroid.listen(protocol, port, request, request.args.get('token', [None])[0])
+                    request.setResponseCode(http.ACCEPTED)
+                    return &quot;202 Listening on port %s&quot; % port
+                except ImportError, e:
+                    return e.message
         else:
             try:
                 d = Deferred()</diff>
      <filename>pdroid/interfaces/http.py</filename>
    </modified>
    <modified>
      <diff>@@ -62,9 +62,10 @@ class Message:
 class SMTPFactory(protocols.ESMTPFactory):
     callbacks = {}
     
-    def __init__(self, port, request):
+    def __init__(self, port, request, token = None):
         self.port = port
         self.request = request
+        self.token = token
         self.callbacks['*'] = request.args.get('callback', [None])[0]
         smtp.SMTPFactory.__init__(self)
         self.delivery = MessageDelivery(self)</diff>
      <filename>pdroid/servers/smtp.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8b7822a2401b25e82656d4c937a05d54c8dbe131</id>
    </parent>
  </parents>
  <author>
    <name>Jeff Lindsay</name>
    <email>progrium@gmail.com</email>
  </author>
  <url>http://github.com/progrium/protocol-droid/commit/d7f48708f893e38e215a445e50c41a1fad3feb66</url>
  <id>d7f48708f893e38e215a445e50c41a1fad3feb66</id>
  <committed-date>2009-08-14T23:30:47-07:00</committed-date>
  <authored-date>2009-08-14T23:30:47-07:00</authored-date>
  <message>adding GET listen interface to see state of listener with token to id yourself</message>
  <tree>321fd9e6e595ac4b076d1735616da66eef2cb5ad</tree>
  <committer>
    <name>Jeff Lindsay</name>
    <email>progrium@gmail.com</email>
  </committer>
</commit>
