private IReadOnlyList <GraphQLRequest> ParseRequest( byte[] buffer, int bytesBuffered) { var graphQLData = new ReadOnlySpan <byte>(buffer); graphQLData = graphQLData.Slice(0, bytesBuffered); var requestParser = new Utf8GraphQLRequestParser( graphQLData, _parserOptions, _documentCache, _documentHashProvider); return(requestParser.Parse()); }
private static bool TryDeserializeDataStartMessage( GraphQLSocketMessage parsedMessage, out OperationMessage message) { if (!parsedMessage.HasPayload) { message = null; return(false); } IReadOnlyList <GraphQLRequest> batch = Utf8GraphQLRequestParser.Parse(parsedMessage.Payload); message = new DataStartMessage(parsedMessage.Id, batch[0]); return(true); }
private static bool TryDeserializeDataStartMessage( GraphQLSocketMessage parsedMessage, [NotNullWhen(true)] out OperationMessage?message) { if (parsedMessage.Payload.Length == 0 || parsedMessage.Id is null) { message = null; return(false); } IReadOnlyList <GraphQLRequest> batch = Utf8GraphQLRequestParser.Parse(parsedMessage.Payload); message = new DataStartMessage(parsedMessage.Id, batch[0]); return(true); }