def listdir(self, request, response):
    path = request.path()
    prefix = request.prefix() if request.has_prefix() else ''

    q = datastore.Query(GS_INFO_KIND, namespace='')
    fully_qualified_name = '/'.join([path, prefix])
    if request.has_marker():
      q['filename >'] = '/'.join([path, request.marker()])
    else:
      q['filename >='] = fully_qualified_name

    if request.has_max_keys():
      max_keys = request.max_keys()
    else:
      max_keys = 2**31-1
    for gs_file_info in q.Get(max_keys):
      filename = gs_file_info['filename']
      if filename.startswith(fully_qualified_name):
        response.add_filenames(filename)
      else:
        break
Serialize the message components to bytes.
dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/api/files/file_service_stub.py/GoogleStorage.listdir--crossover with--dataset/ETHPy150Open jupyter/jupyter_client/jupyter_client/session.py/Session.serialize