11
11
#include < ydb/core/ymq/base/helpers.h>
12
12
#include < ydb/core/ymq/base/limits.h>
13
13
#include < ydb/core/ymq/base/secure_protobuf_printer.h>
14
+ #include < ydb/core/ymq/base/utils.h>
14
15
15
16
#include < ydb/library/actors/core/actorsystem.h>
16
17
#include < ydb/library/actors/core/log.h>
@@ -48,8 +49,6 @@ const std::vector<TStringBuf> PRIVATE_TOKENS_HEADERS = {
48
49
49
50
const TString CREDENTIAL_PARAM = " credential" ;
50
51
51
- constexpr TStringBuf PRIVATE_REQUEST_PATH_PREFIX = " /private" ;
52
-
53
52
const TSet<TString> ModifyPermissionsActions = {" GrantPermissions" , " RevokePermissions" , " SetPermissions" };
54
53
55
54
bool IsPrivateTokenHeader (TStringBuf headerName) {
@@ -264,26 +263,9 @@ bool THttpRequest::DoReply(const TReplyParams& p) {
264
263
}
265
264
}
266
265
267
- TString THttpRequest::GetRequestPathPart (TStringBuf path, size_t partIdx) const {
268
- if (IsPrivateRequest_) {
269
- path.SkipPrefix (PRIVATE_REQUEST_PATH_PREFIX);
270
- }
271
-
272
- TVector<TStringBuf> items;
273
- StringSplitter (path).Split (' /' ).AddTo (&items);
274
- if (items.size () > partIdx) {
275
- return TString (items[partIdx]);
276
- }
277
- return TString ();
278
- }
279
-
280
266
TString THttpRequest::ExtractQueueNameFromPath (const TStringBuf path) {
281
- return GetRequestPathPart (path, 2 );
282
- }
283
-
284
- TString THttpRequest::ExtractAccountNameFromPath (const TStringBuf path) {
285
- return GetRequestPathPart (path, 1 );
286
- }
267
+ return NKikimr::NSQS::ExtractQueueNameFromPath (path, IsPrivateRequest_);
268
+ };
287
269
288
270
void THttpRequest::ExtractQueueAndAccountNames (const TStringBuf path) {
289
271
if (Action_ == EAction::ModifyPermissions)
@@ -296,9 +278,11 @@ void THttpRequest::ExtractQueueAndAccountNames(const TStringBuf path) {
296
278
297
279
QueueName_ = *QueryParams_.QueueName ;
298
280
} else {
299
- const auto pathAndQuery = QueryParams_.QueueUrl ? GetPathAndQuery (*QueryParams_.QueueUrl ) : GetPathAndQuery (path);
281
+ const auto pathAndQuery = QueryParams_.QueueUrl
282
+ ? GetPathAndQuery (*QueryParams_.QueueUrl )
283
+ : GetPathAndQuery (path);
300
284
QueueName_ = ExtractQueueNameFromPath (pathAndQuery);
301
- AccountName_ = ExtractAccountNameFromPath (pathAndQuery);
285
+ AccountName_ = NKikimr::NSQS :: ExtractAccountNameFromPath (pathAndQuery, IsPrivateRequest_ );
302
286
303
287
if (IsProxyAction (Action_)) {
304
288
if (QueryParams_.QueueUrl && *QueryParams_.QueueUrl ) {
@@ -381,9 +365,7 @@ void THttpRequest::ParseCgiParameters(const TCgiParameters& params) {
381
365
}
382
366
383
367
void THttpRequest::ParsePrivateRequestPathPrefix (const TStringBuf& path) {
384
- if (path.StartsWith (PRIVATE_REQUEST_PATH_PREFIX)) {
385
- IsPrivateRequest_ = true ;
386
- }
368
+ IsPrivateRequest_ = NKikimr::NSQS::IsPrivateRequest (path);
387
369
}
388
370
389
371
ui64 THttpRequest::CalculateRequestSizeInBytes (const THttpInput& input, const ui64 contentLength) const {
0 commit comments