From 3528f9a2045bb8ba41d8df2cce588e19c12a56b6 Mon Sep 17 00:00:00 2001 From: Jim Balhoff Date: Fri, 22 Mar 2019 16:20:29 -0400 Subject: [PATCH] Support POST for OntoTrace. --- src/main/scala/org/phenoscape/kb/Main.scala | 33 ++++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/scala/org/phenoscape/kb/Main.scala b/src/main/scala/org/phenoscape/kb/Main.scala index 9281be4f..0c43ac58 100644 --- a/src/main/scala/org/phenoscape/kb/Main.scala +++ b/src/main/scala/org/phenoscape/kb/Main.scala @@ -198,13 +198,24 @@ object Main extends HttpApp with App { } } ~ path("ontotrace") { - parameters('entity.as[OWLClassExpression], 'taxon.as[OWLClassExpression], 'variable_only.as[Boolean].?(true), 'parts.as[Boolean].?(false)) { (entity, taxon, variableOnly, includeParts) => - respondWithHeader(headers.`Content-Disposition`(ContentDispositionTypes.attachment, Map("filename" -> "ontotrace.xml"))) { - complete { - PresenceAbsenceOfStructure.presenceAbsenceMatrix(entity, taxon, variableOnly, includeParts) + get { + parameters('entity.as[OWLClassExpression], 'taxon.as[OWLClassExpression], 'variable_only.as[Boolean].?(true), 'parts.as[Boolean].?(false)) { (entity, taxon, variableOnly, includeParts) => + respondWithHeader(headers.`Content-Disposition`(ContentDispositionTypes.attachment, Map("filename" -> "ontotrace.xml"))) { + complete { + PresenceAbsenceOfStructure.presenceAbsenceMatrix(entity, taxon, variableOnly, includeParts) + } + } + } + } ~ + post { + formFields('entity.as[OWLClassExpression], 'taxon.as[OWLClassExpression], 'variable_only.as[Boolean].?(true), 'parts.as[Boolean].?(false)) { (entity, taxon, variableOnly, includeParts) => + respondWithHeader(headers.`Content-Disposition`(ContentDispositionTypes.attachment, Map("filename" -> "ontotrace.xml"))) { + complete { + PresenceAbsenceOfStructure.presenceAbsenceMatrix(entity, taxon, variableOnly, includeParts) + } + } } } - } } ~ pathPrefix("similarity") { path("query") { @@ -296,14 +307,14 @@ object Main extends HttpApp with App { } } } ~ - post { - formFields('terms.as[Seq[String]]) { iriStrings => - complete { - val iris = iriStrings.map(IRI.create).toSet - Graph.ancestorMatrix(iris) + post { + formFields('terms.as[Seq[String]]) { iriStrings => + complete { + val iris = iriStrings.map(IRI.create).toSet + Graph.ancestorMatrix(iris) + } } } - } } } ~ pathPrefix("characterstate") {