Fork me on GitHub
#pedestal
<
2018-11-30
>
urzds13:11:32

Hi! How do I mount a file server with document root "/foo/bar" onto "/the/route", so that browsing /the/route will show me the files in /foo/bar?

urzds13:11:27

I assume it involves io.pedestal.http.ring-middlewares/file and some URL rewriting, but I couldn't figure out how to do that.

jaihindhreddy-duplicate20:11:53

I can't get the pedestal hello world running with deps.edn

jaihindhreddy-duplicate20:11:12

(require 'hello)
Syntax error macroexpanding clojure.core/ns at (log.clj:13:1).
() - failed: Insufficient input at: [:ns-clauses :import :classes :package-list :classes] spec: :clojure.core.specs.alpha/package-list
(io.opentracing.log.Fields) - failed: simple-symbol? at: [:ns-clauses :import :classes :class] spec: :clojure.core.specs.alpha/ns-import
:import - failed: #{:refer-clojure} at: [:ns-clauses :refer-clojure :clause] spec: :clojure.core.specs.alpha/ns-refer-clojure
:import - failed: #{:require} at: [:ns-clauses :require :clause] spec: :clojure.core.specs.alpha/ns-require
:import - failed: #{:use} at: [:ns-clauses :use :clause] spec: :clojure.core.specs.alpha/ns-use
:import - failed: #{:refer} at: [:ns-clauses :refer :clause] spec: :clojure.core.specs.alpha/ns-refer
:import - failed: #{:load} at: [:ns-clauses :load :clause] spec: :clojure.core.specs.alpha/ns-load
:import - failed: #{:gen-class} at: [:ns-clauses :gen-class :clause] spec: :clojure.core.specs.alpha/ns-gen-class
user=> 

jaihindhreddy-duplicate20:11:40

I think spec is complaining about this:

(ns io.pedestal.log
  "Logging via slf4j. Each logging level is a macro: trace, debug,
  info, warn, and error. Each namespace gets its own Logger. Arguments
  are key-value pairs, which will be printed as with 'pr'. The special
  key :exception should have a java.lang.Throwable as its value, and
  will be passed separately to the underlying logging API.
  One can override the logger via JVM or ENVAR settings."
  (:require clojure.string)
  (:import (org.slf4j Logger
                      LoggerFactory
                      MDC)
           (org.slf4j.spi MDCAdapter)
           (com.codahale.metrics MetricRegistry
                                 Gauge Counter Histogram Meter
                                 Slf4jReporter)
           (com.codahale.metrics.jmx JmxReporter)
           (io.opentracing Scope
                           Span
                           SpanContext
                           Tracer
                           Tracer$SpanBuilder)
           io.opentracing.log.Fields
           (io.opentracing.util GlobalTracer)
           (java.util Map)
           (java.util.concurrent TimeUnit)
           (clojure.lang IFn)))
Got it from

jaihindhreddy-duplicate20:11:43

Alright, it seems to work with the versions in the guide

mkvlr20:11:52

@jaihindh.reddy are you using Clojure 1.10?

jaihindhreddy-duplicate20:11:11

This works:

{:paths ["src"]
 :deps {org.clojure/clojure {:mvn/version "1.10.0-RC2"}
        org.clojure/core.async {:mvn/version "0.4.490"}
        io.pedestal/pedestal.service {:mvn/version "0.5.1"}
        io.pedestal/pedestal.route {:mvn/version "0.5.1"}
        io.pedestal/pedestal.jetty {:mvn/version "0.5.1"}
        org.slf4j/slf4j-simple {:mvn/version "1.7.21"}}}

jaihindhreddy-duplicate20:11:35

This doesn't:

{:paths ["src"]
 :deps {org.clojure/clojure {:mvn/version "1.10.0-RC2"}
        org.clojure/core.async {:mvn/version "0.4.490"}
        io.pedestal/pedestal.service {:mvn/version "0.5.4"}
        io.pedestal/pedestal.route {:mvn/version "0.5.4"}
        io.pedestal/pedestal.jetty {:mvn/version "0.5.4"}
        org.slf4j/slf4j-simple {:mvn/version "1.7.25"}}}

jaihindhreddy-duplicate20:11:46

Even this doesn't

{:paths ["src"]
 :deps {org.clojure/clojure {:mvn/version "1.10.0-RC2"}
        org.clojure/core.async {:mvn/version "0.4.490"}
        io.pedestal/pedestal.service {:mvn/version "0.5.4"}
        io.pedestal/pedestal.route {:mvn/version "0.5.4"}
        io.pedestal/pedestal.jetty {:mvn/version "0.5.4"}
        org.slf4j/slf4j-simple {:mvn/version "1.7.21"}}}

mkvlr20:11:21

io.pedestal/pedestal.route {:mvn/version "0.5.4"}
  io.pedestal/pedestal.jetty {:mvn/version "0.5.4"}
  io.pedestal/pedestal.log {:git/url "" :sha "5ab1c9770472694f94d0835cda412ba753b28809"}
  io.pedestal/pedestal.service {:mvn/version "0.5.4"}
  io.pedestal/pedestal.service-tools {:mvn/version "0.5.4"}

mkvlr20:11:35

current stable doesn't work with 1.10 because https://github.com/pedestal/pedestal/pull/591 and https://github.com/pedestal/pedestal/pull/592 hasn't been released yet

mkvlr20:11:04

we work around this by importing pedestal.log via deps.edn as seen above

jaihindhreddy-duplicate20:11:44

works. Thank you sir. Should have looked at the Github issue tracker picard-facepalm

mkvlr20:11:28

glad to hear