742efb6ff310c75a30cf13088111139cf713b9db angie Tue Feb 23 11:06:52 2016 -0800 Unifying some triplicate code to print an HTTP error 400 response (Bad Request) and exit. diff --git src/hg/hgApi/hgApi.c src/hg/hgApi/hgApi.c index 26f086a..57deea7 100644 --- src/hg/hgApi/hgApi.c +++ src/hg/hgApi/hgApi.c @@ -19,46 +19,47 @@ metaDb: return list of values for metaDb parameter hgt_mdbVal: return metaDb value control - see code for details tableMetadata: returns an html table with metadata for track parameter codonToPos: returns genomic position for given codon; parameters: codon, table and name (which is gene name). codonToPos: returns genomic position for given exon; parameters: exon, table and name (which is gene name). */ #include "common.h" #include "hdb.h" #include "mdb.h" #include "cheapcgi.h" +#include "htmshell.h" #include "hPrint.h" #include "dystring.h" #include "hui.h" #include "search.h" #include "cv.h" #include "api.h" int main(int argc, char *argv[]) { long enteredMainTime = clock1000(); struct dyString *output = newDyString(10000); setUdcCacheDir(); cgiSpoof(&argc, argv); -pushWarnHandler(apiWarnAbortHandler); -pushAbortHandler(apiWarnAbortHandler); +pushWarnHandler(htmlVaBadRequestAbort); +pushAbortHandler(htmlVaBadRequestAbort); char *database = cgiString("db"); char *cmd = cgiString("cmd"); char *jsonp = cgiOptionalString("jsonp"); if (!hDbExists(database)) errAbort("Invalid database '%s'", database); if (!strcmp(cmd, "defaultPos")) { dyStringPrintf(output, "{\"pos\": \"%s\"}", hDefaultPos(database)); } else if (!strcmp(cmd, "metaDb")) { // Return list of values for given metaDb var // e.g. http://genome.ucsc.edu/hgApi?db=hg18&cmd=metaDb&var=cell