human
I wrote the below code

    if ((not blob_key) and (not filename)):
        raise BlobKeyRequiredError('A    Blobkey    or    a    filename    is    required    for    this    operation.')
    if (crop and (not size)):
        raise BadRequestError('Size    should    be    set    for    crop    operation')
    if ((size is not None) and ((size > IMG_SERVING_SIZES_LIMIT) or (size < 0))):
        raise UnsupportedSizeError('Unsupported    size')
    if (secure_url and (not isinstance(secure_url, bool))):
        raise TypeError('secure_url    must    be    boolean.')
    if (filename and blob_key):
        raise BadRequestError('Cannot    specify    a    blob_key    and    a    filename.')
    if filename:
        _blob_key = blobstore.create_gs_key(filename)
        readable_blob_key = filename
    else:
        _blob_key = _extract_blob_key(blob_key)
        readable_blob_key = blob_key
    request = images_service_pb.ImagesGetUrlBaseRequest()
    response = images_service_pb.ImagesGetUrlBaseResponse()
    request.set_blob_key(_blob_key)
    if secure_url:
        request.set_create_secure_url(secure_url)
    def get_serving_url_hook(rpc):
        'Check    success,    handle    exceptions,    and    return    converted    RPC    result.\n\n                Args:\n                        rpc:    A    UserRPC    object.\n\n                Returns:\n                        The    URL    for    serving    the    image.\n\n                Raises:\n                        See    docstring    for    get_serving_url    for    more    details.\n                '
        try:
            rpc.check_success()
        except apiproxy_errors.ApplicationError as e:
            raise _ToImagesError(e, readable_blob_key)
        url = rpc.response.url()
        if (size is not None):
            url += ('=s%s' % size)
        if crop:
            url += '-c'
        return url
    return _make_async_call(rpc, 'GetUrlBase', request, response, get_serving_url_hook, None)

What's a good function header?

Here's a good function header?
assistant
#Here's a good function header.

def get_serving_url_async(blob_key, size=None, crop=False, secure_url=None, filename=None, rpc=None):