code: def test_starlette_request(serve_instance):
      @serve.deployment(name="api")
      async def echo_body(starlette_request):
          data = await starlette_request.body()
          return data
  
      serve.run(echo_body.bind())
  
      # Long string to test serialization of multiple messages.
      UVICORN_HIGH_WATER_MARK = 65536  # max bytes in one message
      long_string = "x" * 10 * UVICORN_HIGH_WATER_MARK
  
      resp = requests.post(
          "http://127.0.0.1:8000/api", data=long_string
      ).text
      assert resp == long_string
  
imports: import asyncio
  import os
  import sys
  from typing import Dict, Optional
  import pytest
  import requests
  import starlette.responses
  from fastapi import FastAPI
  import ray
  from ray import serve
  from ray._private.pydantic_compat import BaseModel, ValidationError
  from ray._private.test_utils import SignalActor, wait_for_condition
  from ray.serve._private.api import call_app_builder_with_args_if_necessary
  from ray.serve._private.common import DeploymentID
  from ray.serve._private.constants import SERVE_DEFAULT_APP_NAME
  from ray.serve.deployment import Application
  from ray.serve.exceptions import RayServeException
  from ray.serve.handle import DeploymentHandle, RayServeHandle
label_desc: Use image node_id 16 for calling a global function with example usage: test_starlette_request(serve_instance) and returns: data