Commit 5a7c026f authored by Summer Stapleton's avatar Summer Stapleton Committed by Makayla Shepherd
Browse files

Adding changes made by Cole to handle errors passed by json

parent c0dabbf4
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -149,6 +149,9 @@ namespace Isis {
      QJsonDocument doc = QJsonDocument::fromJson(p_rawResponseByteArray);

      *p_response = doc.object();
      if (!p_response->value("Error").isUndefined()) {
        throw IException(IException::Unknown, p_response->value("Error").toString(), _FILEINFO_);
      }

      QFile finalOutput("output.txt");
      finalOutput.open(QIODevice::WriteOnly);
+30 −3
Original line number Diff line number Diff line
@@ -296,12 +296,34 @@ void RequestHandler::service(HttpRequest& request, HttpResponse& response)
          throw IException(IException::Unknown, "Unable to initialize camera model", _FILEINFO_);
        }
        else {

          spiceResponse = packageKernels("kernels" );
        }
//        remove( inputLabels.expanded().toLatin1() ); //clean up
        p.EndProcess();
      }
      catch (IException &e) {

        // We failed at something, delete the temp files...

        QFile pointingFile("kernels.pointing");
        if ( pointingFile.exists() ) pointingFile.remove();

        QFile positionFile("kernels.position");
        if ( positionFile.exists() ) positionFile.remove();

        QFile bodyRotFile("kernels.bodyrot");
        if ( bodyRotFile.exists() ) bodyRotFile.remove();

        QFile sunFile("kernels.sun");
        if ( sunFile.exists() ) sunFile.remove();

        QJsonObject errorData;
        errorData.insert("Error", e.what());

        QJsonDocument doc(errorData);
        spiceResponse.clear();
        QByteArray spiceResponse = QByteArray( doc.toJson() );
      }
      catch (...) {

        // We failed at something, delete the temp files...
@@ -318,7 +340,12 @@ void RequestHandler::service(HttpRequest& request, HttpResponse& response)
        QFile sunFile("kernels.sun");
        if ( sunFile.exists() ) sunFile.remove();

        throw;
        QJsonObject errorData;
        errorData.insert("Error", "Unknown error occurred");

        QJsonDocument doc(errorData);
        spiceResponse.clear();
        QByteArray spiceResponse = QByteArray( doc.toJson() );
      }

    // Return a simple HTML document