code: def _make_definition(self, definition):
          
          if not definition:
              return EndpointDefinition()
          if isinstance(definition, EndpointDefinition):
              return definition
          elif len(definition) == 1:
              return EndpointDefinition(
                  func=definition[0],
              )
          elif len(definition) == 2:
              return EndpointDefinition(
                  func=definition[0],
                  response_schema=definition[1],
              )
          elif len(definition) == 3:
              return EndpointDefinition(
                  func=definition[0],
                  request_schema=definition[1],
                  response_schema=definition[2],
              )
          elif len(definition) == 4:
              return EndpointDefinition(
                  func=definition[0],
                  request_schema=definition[1],
                  response_schema=definition[2],
                  header_func=definition[3],
              )
docs: Generate a definition.
  
          The input might already be a `EndpointDefinition` or it might be a tuple.