mapoff:
Is there a clean way to get the whole text file at once instead of one letter at a time?
...
...
I'm very new and trying to understand how the client.available, and client.read work.
If you look at the functions for the Serial class, you can get some ideas which functions are available. Most (or all) of those functions are also available in classes like the WiFiClient that you use.
If your text contains a unique character at the end, you can use readStringUntil() or readBytesUntil(). It takes the hard work out but will basically do what you're doing (if you add some modifications). Disadvantage of those functions is that you will not know if you have received a complete text.
Other disadvantage is that they block further processing by the processor till all characters are received or a timeout occurs; so if you want to e.g. blink a LED at the same time, you're out of luck. This might not be an issue for you in this case but 'old habits die hard'.
The code as you currently have it is the correct general approach (with the possible exception of the use of String (capital S)).
The available() function checks if one or more characters are received. If so, you can read it (as is done in your code) and add it to the luvmsg variable; else there is no use in reading.
You can have a look at the Serial Input Basics - updated thread for ideas how to read data (it applies equally to the WiFiClient) (and setup your text accordingly on the server).