forked from TrueCloudLab/frostfs-http-gw
Fixes after review
After discussion, we decided to simplify attribute translation for now. Full translation requires support for UTF-8 values encoded according to RFC 8187/7230, this can be clarified and implemented in further PRs. 1. Remove translation tables 2. Use simple translation rules only, for now ignoring UTF-8 keys and values - `X-Attribute-NEOFS-` prefixed headers considered well-known system attributes - System Attribute key is uppercased - System Attribute key's `-` translates to `_` - `X-Attribute-` prefixed headers considered regular object attributes - Normal attribute key is a result of http header prefix trimming - Value string should be left as is, for now ``` HTTP: X-Attribute-NEOFS-Expiration-Epoch: 123 X-Attribute-FileName: cat.jpg NeoFS: __NEOFS__EXPIRATION_EPOCH: "123" FileName: "cat.jpg" ``` Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
This commit is contained in:
parent
71999a796d
commit
cbaf9e6142
5 changed files with 30 additions and 83 deletions
|
@ -103,7 +103,7 @@ func (a *app) upload(c *fasthttp.RequestCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
filtered := a.hdr.Filter(&c.Request.Header)
|
||||
filtered := filterHeaders(a.log, &c.Request.Header)
|
||||
attributes := make([]*object.Attribute, 0, len(filtered))
|
||||
|
||||
// prepares attributes from filtered headers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue