anchor.diff:          <<" SignedHeaders=">>, SignedHeaders, $,,
           <<" Signature=">>, Signature
       ])),
  -    ReqHeaders = maps:from_list([{<<"authorization">>, Auth} | NormHeaders]),
  -    ReqUri1 = <<"https://", Host/binary, Path/binary>>,
  +    ReqHeaders = [{<<"authorization">>, Auth} | NormHeaders],
  +    ReqUri1 = <<Url/binary, Path/binary>>,
       ReqUri2 = case CanonicalQueryString of
           <<>> ->
               ReqUri1;
  
positive.code: 
  %% hex(crypto:hash(sha256, <<>>))
  -define(EMPTY_HASH, <<"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855">>).
  
  
  %% ===================================================================
  %% Types
  
negative.code:         "&Signature=", url_encode(Enc),
          "&Expires=", Expires
      ]),
      {_Region, _Service, _Host, Url} = get_service(Config),
      {Method, <<Url/binary, Path/binary, Qs/binary>>}.
  
  
  
  %% ===================================================================
  %% Internal
  %% ===================================================================
  
  get_service(Config) ->
      Region = to_bin(maps:get(region, Config, ?DEFAULT_REGION)),
      Service = to_bin(maps:get(service, Config, s3)),
      Scheme = to_bin(maps:get(scheme, Config, <<"https">>)),
      DefPort = case Scheme of <<"http">> -> 80; <<"https">> -> 443 end,
      Port = to_bin(maps:get(port, Config, DefPort)),
      Host = case maps:find(host, Config) of
          {ok, ConfigHost} ->
              to_bin(ConfigHost);
          error ->
              <<Service/binary, $., Region/binary, ".amazonaws.com">>
      end,
      FullHost = <<Host/binary, $:, Port/binary>>,
      Url = <<Scheme/binary, "://", FullHost/binary>>,
      {Region, Service, FullHost, Url}.
  
  
  %% @private
  