anchor.diff:          CredentialScope, $\n,
           nklib_util:hex(crypto:hash(sha256, Request))
       ],
  -    Key = to_bin(maps:get(key, Config)),
  -    Secret = to_bin(maps:get(secret, Config)),
  +    #{key:=Key, secret:=Secret} = Config,
       KDate = crypto:hmac(sha256, <<"AWS4", Secret/binary>>, Date2),
       KRegion = crypto:hmac(sha256, KDate, Region),
       KService = crypto:hmac(sha256, KRegion, Service),
  
positive.code:     {Uri::binary(), Headers::[{binary(), binary()}]}.
  
  request_v4(Config) ->
      {Region, Service, Host, Url} = get_service(Config),
      Date = iso_8601_basic_time(),
      HexHash = case maps:find(hash, Config) of
  
negative.code: -spec request_v4_tmp(request_v4_config()) ->
      {Method::binary(), Url::binary()}.
  
  request_v4_tmp(Config) ->
      case nklib_syntax:parse(Config, syntax()) of
          {ok, Config2, _} ->
              do_request_v4_tmp(Config2);
          {error, Error} ->
              {error, Error}
      end.
  
  
  %% @private
  do_request_v4_tmp(#{ttl:=Secs}=Config) ->
      Expires = to_bin(nklib_date:epoch(secs) + Secs),
      Method = nklib_util:to_upper(maps:get(method, Config, <<"GET">>)),
      Path = maps:get(path, Config, <<"/">>),
  