	std::size_t position = 0;
	std::string length {""}, header_name {""}, header_value {""};
	bool in_length = true, in_header_name = false, in_header_value = false, in_req_body = false;

	for(auto it = raw_scgi_netstring.begin(); it != raw_scgi_netstring.end(); ++it)
	{
		if(*it == ',')
		{
			in_req_body = true;
			in_length = false;
			in_header_name = false;
			in_header_value = false;

			// skip to next character 
			it++;
		}
		else if(in_length)
		{
			if(*it == ':')
			{
				in_length = false;
				in_header_name = true;

				// skip to next character
				it++;
			}
			else
			{
				length.push_back(raw_scgi_netstring.at(*it));
			}
		}
		else if(in_header_name)
		{
			if(*it == '\0')
			{
				in_header_name = false;
				in_header_value = true;

				// skip to next character
				it++;
			}
			else
			{

			}
		}
		else if(in_header_value)
		{
			if(*it == '\0')
			{
				in_header_value = false;
				in_header_name = true;

				// skip to next character
				it++;
			}
			else
			{

			}
		}
		else if(in_req_body)
		{

		}

		position++;
	}
	this->length = std::stoull(length);
}