/* GetServiceSettings returns the settings necessary to talk to the MailSlurper back-end service tier. */ func GetServiceSettings(writer http.ResponseWriter, request *http.Request) { config := (context.Get(request, "config")).(*configuration.Configuration) settings := model.ServiceSettings{ ServiceAddress: config.ServiceAddress, ServicePort: config.ServicePort, Version: "v1", } GoHttpService.WriteJson(writer, settings, 200) }
/* Search tries to find nodes that contain a term GET /search?term=[searchTerm] */ func Search(writer http.ResponseWriter, request *http.Request) { log := (context.Get(request, "log")).(*logging.Logger) catalog := (context.Get(request, "catalog")).(*catalog.Catalog) term := request.URL.Query().Get("term") if len(term) <= 0 { log.Error("User provided blank term in /search") GoHttpService.BadRequest(writer, "Please provide a search term") return } log.Infof("Searching for [%s]", term) matches := catalog.Search(term) if matches == nil { GoHttpService.NotFound(writer, "Term "+term+" not found") return } GoHttpService.WriteJson(writer, matches, 200) }
/* GetVersion writes the current server version to the response writer GET /version */ func GetVersion(writer http.ResponseWriter, request *http.Request) { version := (context.Get(request, "version")).(string) GoHttpService.WriteJson(writer, version, 200) }