There is a SCB_SetCustomInterruptHandler() API which would allow to get control first. See datasheet but that might not be too helpful.
When the Rx buffersize in the component is larger than the FIFO depth (16 bytes when byte mode is checked) the internal interrupt is selected and a buffer of the requested size gets allocated. All transfers from FIFO to buffer are maintained by the component, char reads are fulfilled from buffer. There is an API named SCB_SpiUartGetRxBufferSize() which returns the number of bytes in the buffer (not the size) which you might use to decide whether your message is complete.
Bob - I was not successful with the SCB_SetCustomInterruptHandler() but figured out another way to do it. Thanks for your input!
Odissey1 -Thanks for your Rx demo! it helped clarify a bunch of stuff