Just use the string argument as input. I bounced on this for a while and Jack pushed for strings at the same time as I started realising how much a headache it is having to deal with these objects all the time. Strings are much easier to fling around. Use the library for parsing, use it for validation - everything else is strings. 

Also most http manipulation is done via strings, only passing them to urllib or similar if some processing needs to be done on the string.