75af658048fd25b17153e6fff08712e48f78f61a
hiram
  Thu Apr 4 10:19:55 2019 -0700
begin to think about error code returns refs #18869

diff --git src/hg/hubApi/apiUtils.c src/hg/hubApi/apiUtils.c
index 7b7936d..f9a9a82 100644
--- src/hg/hubApi/apiUtils.c
+++ src/hg/hubApi/apiUtils.c
@@ -1,28 +1,51 @@
 /* utility functions for data API business */
 
 #include "dataApi.h"
 
+#ifdef NOT
+static void jsonFinishOutput(int errorCode, char *errorString, struct jsonWrite *jw)
+/* potential output an error code other than 200 */
+{
+/* this is the first time any output to stdout has taken place for
+ * json output, therefore, start with the appropriate header
+ */
+puts("Content-Type:application/json");
+/* potentially with an error code return */
+if (errorCode)
+    {
+    char errString[2048];
+    safef(errString, sizeof(errString), "Status: %d %s",errorCode,errorString);
+    puts(errString);
+    }
+puts("\n");
+
+jsonWriteObjectEnd(jw);
+fputs(jw->dy->string,stdout);
+}
+#endif
+
 void apiErrAbort(char *format, ...)
 /* Issue an error message in json format, and exit(0) */
 {
 char errMsg[2048];
 va_list args;
 va_start(args, format);
 vsnprintf(errMsg, sizeof(errMsg), format, args);
 struct jsonWrite *jw = apiStartOutput();
 jsonWriteString(jw, "error", errMsg);
+// jsonFinishOutput(400, "Bad Request", jw);
 jsonWriteObjectEnd(jw);
 fputs(jw->dy->string,stdout);
 exit(0);
 }
 
 struct jsonWrite *apiStartOutput()
 /* begin json output with standard header information for all requests */
 {
 time_t timeNow = time(NULL);
 // struct tm tm;
 // gmtime_r(&timeNow, &tm);
 struct jsonWrite *jw = jsonWriteNew();
 jsonWriteObjectStart(jw, NULL);
 // not recommended: jsonWriteString(jw, "apiVersion", "v"CGI_VERSION);
 // not needed jsonWriteString(jw, "source", "UCSantaCruz");