title: python 3.6 coroutine was never awaited
body: <p>So when ever I run my program and connect to it with the echo client it gives me this error. </p>
  
  <pre><code>Starting server
  Serving on ('127.0.0.1', 8881)
  Exception in callback UVTransport._call_connection_made
  handle: &lt;Handle UVTransport._call_connection_made&gt;
  Traceback (most recent call last):
  File "uvloop/cbhandles.pyx", line 52, in uvloop.loop.Handle._run (uvloop/loop.c:48414)
  File "uvloop/handles/tcp.pyx", line 141, in uvloop.loop.TCPTransport._call_connection_made (uvloop/loop.c:80488)
  File "uvloop/handles/basetransport.pyx", line 140, in uvloop.loop.UVBaseTransport._call_connection_made (uvloop/loop.c:65774)
  File "uvloop/handles/basetransport.pyx", line 137, in uvloop.loop.UVBaseTransport._call_connection_made (uvloop/loop.c:65671)
  AttributeError: 'coroutine' object has no attribute 'connection_made'
  /home/kenton/Programming/bridal/bridal-middle/middle/lib/server.py:16:RuntimeWarning: coroutine 'handle_request' was never awaited
  loop.run_forever()
  </code></pre>
  
  <p>As far as I know I have everything that should be awaited awaited. 
  Here is the code:</p>
  
  <pre><code>class Server:
  
      def __init__(self, port):
          asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
      loop = asyncio.get_event_loop()
      server = loop.run_until_complete(self.init(loop))
  
      print("Serving on {}".format(server.sockets[0].getsockname()))
      try:
          loop.run_forever()
      except KeyboardInterrupt:
          print("\rclosing the server")
          pass
  
      server.close()
      loop.run_until_complete(server.wait_closed())
      loop.close()
  
      async def init(self, loop):
          server = await loop.create_server(self.handle_request, '127.0.0.1', 8881)
          return server
  
      async def handle_request(self):
          print(datetime.datetime.now())
          reader = asyncio.StreamReader()
          writer = asyncio.StreamWriter()
          data = await reader.read(100)
          message = data.decode()
          addr = writer.get_extra_info('peername')
          code = message.partition('-')
          if code[0].startswith("1") or code[0].startswith("5"):
              accounts = lib.settings.database.accounts
              if code[0] == "101":
                  result = await self.login_101(code, accounts, writer)
              if code[0] == "501":
                  result = await accounts.find_one({"username":code[2]})
                  print("looking up", code[0])
              #code logic to keep asking for a valid username if one exists
                  if result is None:
                      username = code[2]
                      print(username, " does not exist. Creating")
                      writer.write(b"0")
                      await writer.drain()
                      data = await reader.read(100)
                      message = data.decode()
                      code = message.partition('-')
                      post = {"username":username,"password":code[0],"email":code[2]}
                      post_id = await accounts.insert_one(post).inserted_id
                      writer.write(b(post_id))
                      await writer.drain()
          print("Closed the client socket")
          writer.close()
          print(datetime.datetime.now())
  </code></pre>