# http-request set-map

Dosyaları elle düzenlemek veya **Runtime API'**&#x73;ını kullanmak istemediğinizi varsayalım. Bunun yerine, belirli bir URL parametresi ile bir HTTP isteği yapabilmek ve Map dosyanızı güncellemek istediniz. Bu durumda, `http-request set-map` kullanılır. Bu, çalışma sırasında bir Map'in ne zaman ve nasıl değiştirileceğine karar vermek için `fetches`, `converters` ve `ACL`'lerin kullanılmasına izin verir.

`set-map`'e ek olarak, Map girişlerini aynı şekilde kaldırmanıza izin veren `del-map` de vardır. **Runtime API**'sinde olduğu gibi, bu değişiklikler yalnızca isteğin sona erdiği süreç için de geçerlidir. Map dosyasının yolunu `set-map`'e aktarın ve eklemek veya güncellemek istediğiniz boşluklarla ayrılmış bir anahtar ve değerle takip edin.&#x20;

Hem anahtar hem de değer, günlük biçimi gösterimini destekler; böylece bunları düz dizeler olarak belirtebilir veya `fetches` ve `converters` kullanabilirsiniz. Örneğin, `hosts.map`dosyasına yeni bir girdi eklemek için, ancak yalnızca kaynak adres `192.168.122.0/24` aralığına giriyorsa, aşağıdaki gibi bir yapılandırma kullanabilirsiniz:

```
frontend fe_main
    bind :80
    acl in_network src 192.168.122.0/24
    acl is_map_add path_beg /map/add
    http-request set-map(/etc/haproxy/maps/hosts.map) %[url_param(domain)] %[url_param(backend)] if is_map_add in_network
    http-request deny deny_status 200 if { path_beg /map/ }
    use_backend %[req.hdr(host),lower,map(/etc/haproxy/maps/hosts.map)]
```
