Merge pull request #43529 from curtbruns/rgw-lua-storageclass

rgw/lua: allow read/write of StorageClass field
This commit is contained in:
Yuval Lifshitz 2021-11-30 08:57:23 +02:00 committed by GitHub
commit 174ad996c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 0 deletions

View File

@ -262,6 +262,8 @@ Request Fields
+----------------------------------------------------+----------+--------------------------------------------------------------+----------+-----------+----------+
| ``Request.HTTP.Metadata`` | table | string to string metadata map | yes | yes | no |
+----------------------------------------------------+----------+--------------------------------------------------------------+----------+-----------+----------+
| ``Request.HTTP.StorageClass`` | string | storage class | no | yes | yes |
+----------------------------------------------------+----------+--------------------------------------------------------------+----------+-----------+----------+
| ``Request.HTTP.Host`` | string | host name | no | no | no |
+----------------------------------------------------+----------+--------------------------------------------------------------+----------+-----------+----------+
| ``Request.HTTP.Method`` | string | HTTP method | no | no | no |

View File

@ -639,11 +639,26 @@ struct HTTPMetaTable : public EmptyMetaTable {
pushstring(L, info->request_params);
} else if (strcasecmp(index, "Domain") == 0) {
pushstring(L, info->domain);
} else if (strcasecmp(index, "StorageClass") == 0) {
pushstring(L, info->storage_class);
} else {
return error_unknown_field(L, index, TableName());
}
return ONE_RETURNVAL;
}
static int NewIndexClosure(lua_State* L) {
auto info = reinterpret_cast<req_info*>(lua_touserdata(L, lua_upvalueindex(1)));
const char* index = luaL_checkstring(L, 2);
if (strcasecmp(index, "StorageClass") == 0) {
info->storage_class = luaL_checkstring(L, 3);
} else {
return error_unknown_field(L, index, TableName());
}
return NO_RETURNVAL;
}
};
struct CopyFromMetaTable : public EmptyMetaTable {