| 339 | } |
| 340 | |
| 341 | S3MessageParser::S3MessageParser(const Response &resp) |
| 342 | : xmlptr(NULL), message("Unknown error"), code("Unknown error code") { |
| 343 | // Compatible S3 services don't always return XML |
| 344 | if (resp.getRawData().data() == NULL) { |
| 345 | return; |
| 346 | } |
| 347 | |
| 348 | xmlptr = xmlCreatePushParserCtxt(NULL, NULL, (const char *)(resp.getRawData().data()), |
| 349 | resp.getRawData().size(), "S3MessageParser.xml"); |
| 350 | if (xmlptr != NULL) { |
| 351 | xmlParseChunk(xmlptr, "", 0, 1); |
| 352 | message = parseS3Tag("Message"); |
| 353 | code = parseS3Tag("Code"); |
| 354 | } |
| 355 | } |
| 356 | |
| 357 | S3MessageParser::~S3MessageParser() { |
| 358 | if (xmlptr != NULL) { |
nothing calls this directly
no test coverage detected