anchor.diff:  	parse_host(Rest, false, << Acc/binary, $] >>);
   parse_host(<< C, Rest/bits >>, E, Acc) ->
   	case C of
  -		$A -> parse_host(Rest, E, << Acc/binary, $a >>);
  -		$B -> parse_host(Rest, E, << Acc/binary, $b >>);
  -		$C -> parse_host(Rest, E, << Acc/binary, $c >>);
  -		$D -> parse_host(Rest, E, << Acc/binary, $d >>);
  -		$E -> parse_host(Rest, E, << Acc/binary, $e >>);
  -		$F -> parse_host(Rest, E, << Acc/binary, $f >>);
  -		$G -> parse_host(Rest, E, << Acc/binary, $g >>);
  -		$H -> parse_host(Rest, E, << Acc/binary, $h >>);
  -		$I -> parse_host(Rest, E, << Acc/binary, $i >>);
  -		$J -> parse_host(Rest, E, << Acc/binary, $j >>);
  -		$K -> parse_host(Rest, E, << Acc/binary, $k >>);
  -		$L -> parse_host(Rest, E, << Acc/binary, $l >>);
  -		$M -> parse_host(Rest, E, << Acc/binary, $m >>);
  -		$N -> parse_host(Rest, E, << Acc/binary, $n >>);
  -		$O -> parse_host(Rest, E, << Acc/binary, $o >>);
  -		$P -> parse_host(Rest, E, << Acc/binary, $p >>);
  -		$Q -> parse_host(Rest, E, << Acc/binary, $q >>);
  -		$R -> parse_host(Rest, E, << Acc/binary, $r >>);
  -		$S -> parse_host(Rest, E, << Acc/binary, $s >>);
  -		$T -> parse_host(Rest, E, << Acc/binary, $t >>);
  -		$U -> parse_host(Rest, E, << Acc/binary, $u >>);
  -		$V -> parse_host(Rest, E, << Acc/binary, $v >>);
  -		$W -> parse_host(Rest, E, << Acc/binary, $w >>);
  -		$X -> parse_host(Rest, E, << Acc/binary, $x >>);
  -		$Y -> parse_host(Rest, E, << Acc/binary, $y >>);
  -		$Z -> parse_host(Rest, E, << Acc/binary, $z >>);
  -		_ -> parse_host(Rest, E, << Acc/binary, C >>)
  +		?INLINE_LOWERCASE(parse_host, Rest, E, Acc)
   	end.
   
   %% End of request parsing.
  
positive.code: match_colon(_, _) ->
  	nomatch.
  
  %% I know, this isn't exactly pretty. But this is the most critical
  %% code path and as such needs to be optimized to death.
  %%
  %% ... Sorry for your eyes.
  %%
  %% But let's be honest, that's still pretty readable.
  parse_hd_name(<< C, Rest/bits >>, S, M, P, Q, V, H, SoFar) ->
  	case C of
  		$: -> parse_hd_before_value(Rest, S, M, P, Q, V, H, SoFar);
  		$\s -> parse_hd_name_ws(Rest, S, M, P, Q, V, H, SoFar);
  		$\t -> parse_hd_name_ws(Rest, S, M, P, Q, V, H, SoFar);
  		$A -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $a >>);
  		$B -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $b >>);
  		$C -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $c >>);
  		$D -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $d >>);
  		$E -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $e >>);
  		$F -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $f >>);
  		$G -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $g >>);
  		$H -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $h >>);
  		$I -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $i >>);
  		$J -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $j >>);
  		$K -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $k >>);
  		$L -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $l >>);
  		$M -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $m >>);
  		$N -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $n >>);
  		$O -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $o >>);
  		$P -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $p >>);
  		$Q -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $q >>);
  		$R -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $r >>);
  		$S -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $s >>);
  		$T -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $t >>);
  		$U -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $u >>);
  		$V -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $v >>);
  		$W -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $w >>);
  		$X -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $x >>);
  		$Y -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $y >>);
  		$Z -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, $z >>);
  		C -> parse_hd_name(Rest, S, M, P, Q, V, H, << SoFar/binary, C >>)
  	end.
  
  parse_hd_name_ws(<< C, Rest/bits >>, S, M, P, Q, V, H, Name) ->
  
negative.code: default_port(ssl) -> 443;
  default_port(_) -> 80.
  
  %% Same code as cow_http:parse_fullhost/1, but inline because we
  %% really want this to go fast.
  parse_host(<< $[, Rest/bits >>, false, <<>>) ->
  