| 1114 | } |
| 1115 | |
| 1116 | static void LoadRequestData(TUdpHttpRequest* res) { |
| 1117 | if (!res) |
| 1118 | return; |
| 1119 | { |
| 1120 | TBlockChainIterator reqData(res->DataHolder->Data->GetChain()); |
| 1121 | char pktType; |
| 1122 | reqData.Read(&pktType, 1); |
| 1123 | ReadArr(&reqData, &res->Url); |
| 1124 | if (pktType == PKT_REQUEST) { |
| 1125 | ReadYArr(&reqData, &res->Data); |
| 1126 | } else if (pktType == PKT_LOCAL_REQUEST) { |
| 1127 | ReadShm(res->DataHolder->Data->GetSharedData(), &res->Data); |
| 1128 | } else |
| 1129 | Y_ASSERT(0); |
| 1130 | if (reqData.HasFailed()) { |
| 1131 | Y_ASSERT(0 && "wrong format, memory corruption suspected"); |
| 1132 | res->Url = ""; |
| 1133 | res->Data.clear(); |
| 1134 | } |
| 1135 | } |
| 1136 | res->DataHolder.Reset(nullptr); |
| 1137 | } |
| 1138 | |
| 1139 | static void LoadResponseData(TUdpHttpResponse* res) { |
| 1140 | if (!res || res->DataHolder.Get() == nullptr) |
no test coverage detected