diff --git a/api/0.6/index.html b/api/0.6/index.html index ec8df1c..3bb408f 100644 --- a/api/0.6/index.html +++ b/api/0.6/index.html @@ -1,6 +1,6 @@ -io.pedestal libraries 0.6.1

io.pedestal libraries 0.6.1

Namespaces

io.pedestal.http

Namespace which ties all the pedestal components together in a sensible default way to make a full blown application.

+io.pedestal libraries 0.6.2

io.pedestal libraries 0.6.2

Namespaces

io.pedestal.http.aws.lambda

Public variables and functions:

    io.pedestal.http.container

    Deeper Pedestal<->Container integration and cooperation for HTTP handling

    Public variables and functions:

    io.pedestal.http.cors

    Public variables and functions:

    io.pedestal.http.immutant.container

    Public variables and functions:

      io.pedestal.http.impl.servlet-interceptor

      Interceptors for adapting the Java HTTP Servlet interfaces.

      diff --git a/api/0.6/io.pedestal.http.aws.lambda.html b/api/0.6/io.pedestal.http.aws.lambda.html index 3aa9257..52b01f3 100644 --- a/api/0.6/io.pedestal.http.aws.lambda.html +++ b/api/0.6/io.pedestal.http.aws.lambda.html @@ -1,3 +1,3 @@ -io.pedestal.http.aws.lambda documentation

      io.pedestal.http.aws.lambda

      \ No newline at end of file +io.pedestal.http.aws.lambda documentation

      io.pedestal.http.aws.lambda

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.aws.lambda.utils.html b/api/0.6/io.pedestal.http.aws.lambda.utils.html index c192c51..3baaaac 100644 --- a/api/0.6/io.pedestal.http.aws.lambda.utils.html +++ b/api/0.6/io.pedestal.http.aws.lambda.utils.html @@ -1,10 +1,10 @@ -io.pedestal.http.aws.lambda.utils documentation

      io.pedestal.http.aws.lambda.utils

      apigw-request-map

      (apigw-request-map apigw-event)(apigw-request-map apigw-event process-headers?)

      Given a parsed JSON event from API Gateway, return a Ring compatible request map.

      +io.pedestal.http.aws.lambda.utils documentation

      io.pedestal.http.aws.lambda.utils

      apigw-request-map

      (apigw-request-map apigw-event)(apigw-request-map apigw-event process-headers?)

      Given a parsed JSON event from API Gateway, return a Ring compatible request map.

      Optionally, you can decide to process-headers?, lower-casing them all to conform with the Ring spec defaults to true

      This assumes the apigw event has strings as keys – no conversion has taken place on the JSON object other than the original parse. – This ensures parse optimizations can be made without affecting downstream code.

      -

      apigw-response

      (apigw-response ring-response)(apigw-response ring-response body-process-fn)

      direct-apigw-provider

      (direct-apigw-provider service-map)

      Given a service map, return a service map with a provider function for an AWS API Gateway event, under :io.pedestal.aws.lambda/apigw-handler.

      +

      apigw-response

      (apigw-response ring-response)(apigw-response ring-response body-process-fn)

      direct-apigw-provider

      (direct-apigw-provider service-map)

      Given a service map, return a service map with a provider function for an AWS API Gateway event, under :io.pedestal.aws.lambda/apigw-handler.

      This provider function takes the apigw-event map and the runtime.Context and returns an AWS API Gateway response map (containing – :statusCode :body :headers) You may want to add a custom interceptor in your chain to handle Scheduled Events.

      This chain terminates if a Ring :response is found in the context or an API Gateway :apigw-response map is found.

      All additional conversion, coercion, writing, and extension should be handled by interceptors in the interceptor chain.

      -

      resolve-body-processor

      (resolve-body-processor)
      \ No newline at end of file +

      resolve-body-processor

      (resolve-body-processor)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.body-params.html b/api/0.6/io.pedestal.http.body-params.html index 8017c76..cb3a7b8 100644 --- a/api/0.6/io.pedestal.http.body-params.html +++ b/api/0.6/io.pedestal.http.body-params.html @@ -1,16 +1,16 @@ -io.pedestal.http.body-params documentation

      io.pedestal.http.body-params

      add-parser

      (add-parser parser-map content-type parser-fn)

      add-ring-middleware

      (add-ring-middleware parser-map content-type middleware)

      body-params

      (body-params)(body-params parser-map)

      custom-edn-parser

      (custom-edn-parser & options)

      Return an edn-parser fn that, given a request, will read the body of that request with edn/read. options are key-val pairs that will be passed as a hash-map to edn/read.

      -

      custom-json-parser

      (custom-json-parser & options)

      Return a json-parser fn that, given a request, will read the body of that request with json/read. options are key-val pairs that will be passed along to json/read.

      -

      custom-transit-parser

      (custom-transit-parser & options)

      Return a transit-parser fn that, given a request, will read the body of that request with transit/read. options is a sequence to pass to transit/reader along with the body of the request.

      -

      default-parser-map

      (default-parser-map & parser-options)

      Return a map of MIME-type to parsers. Included types are edn, json and form-encoding. parser-options are key-val pairs, valid options are:

      +io.pedestal.http.body-params documentation

      io.pedestal.http.body-params

      add-parser

      (add-parser parser-map content-type parser-fn)

      add-ring-middleware

      (add-ring-middleware parser-map content-type middleware)

      body-params

      (body-params)(body-params parser-map)

      custom-edn-parser

      (custom-edn-parser & options)

      Return an edn-parser fn that, given a request, will read the body of that request with edn/read. options are key-val pairs that will be passed as a hash-map to edn/read.

      +

      custom-json-parser

      (custom-json-parser & options)

      Return a json-parser fn that, given a request, will read the body of that request with json/read. options are key-val pairs that will be passed along to json/read.

      +

      custom-transit-parser

      (custom-transit-parser & options)

      Return a transit-parser fn that, given a request, will read the body of that request with transit/read. options is a sequence to pass to transit/reader along with the body of the request.

      +

      default-parser-map

      (default-parser-map & parser-options)

      Return a map of MIME-type to parsers. Included types are edn, json and form-encoding. parser-options are key-val pairs, valid options are:

      :edn-options A hash-map of options to be used when invoking edn/read. :json-options A hash-map of options to be used when invoking json/parse-stream. :transit-options A vector of options to be used when invoking transit/reader - must apply to both json and msgpack

      Examples:

      (default-parser-map :json-options {:key-fn keyword}) ;; This parser-map would parse the json body ‘{“foo”: “bar”}’ as ;; {:foo “bar”}

      (default-parser-map :edn-options {:readers data-readers}) ;; This parser-map will parse edn bodies using any custom edn readers you ;; define (in a data_readers.clj file, for example.)

      (default-parser-map :transit-options {:handlers {“custom/model” custom-model-read-handler}}) ;; This parser-map will parse the transit body using a handler defined by ;; custom-model-read-handler.

      -

      edn-parser

      Take a request and parse its body as edn.

      -

      form-parser

      (form-parser request)

      Take a request and parse its body as a form.

      -

      json-parser

      Take a request and parse its body as json.

      -

      transit-parser

      Take a request and parse its body as transit.

      -
      \ No newline at end of file +

      edn-parser

      Take a request and parse its body as edn.

      +

      form-parser

      (form-parser request)

      Take a request and parse its body as a form.

      +

      json-parser

      Take a request and parse its body as json.

      +

      transit-parser

      Take a request and parse its body as transit.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.container.html b/api/0.6/io.pedestal.http.container.html index 92c06b4..8f7fc69 100644 --- a/api/0.6/io.pedestal.http.container.html +++ b/api/0.6/io.pedestal.http.container.html @@ -1,4 +1,4 @@ -io.pedestal.http.container documentation

      io.pedestal.http.container

      Deeper Pedestal<->Container integration and cooperation for HTTP handling

      -

      WriteNIOByteBody

      protocol

      members

      write-byte-buffer-body

      (write-byte-buffer-body servlet-response body resume-chan context)

      write-byte-channel-body

      (write-byte-channel-body servlet-response body resume-chan context)
      \ No newline at end of file +io.pedestal.http.container documentation

      io.pedestal.http.container

      Deeper Pedestal<->Container integration and cooperation for HTTP handling

      +

      WriteNIOByteBody

      protocol

      members

      write-byte-buffer-body

      (write-byte-buffer-body servlet-response body resume-chan context)

      write-byte-channel-body

      (write-byte-channel-body servlet-response body resume-chan context)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.content-negotiation.html b/api/0.6/io.pedestal.http.content-negotiation.html index 334ad79..74b2f2b 100644 --- a/api/0.6/io.pedestal.http.content-negotiation.html +++ b/api/0.6/io.pedestal.http.content-negotiation.html @@ -1,6 +1,6 @@ -io.pedestal.http.content-negotiation documentation

      io.pedestal.http.content-negotiation

      best-match

      (best-match match-fn parsed-accept-maps)

      best-match-fn

      (best-match-fn supported-type-strs)

      negotiate-content

      (negotiate-content supported-type-strs)(negotiate-content supported-type-strs opts-map)

      Given a vector of strings (supported types mime-types) and optionally a map of additional options, return an interceptor that will parse client-request response formats, and add an :accept key on the request, of the most acceptable response format.

      +io.pedestal.http.content-negotiation documentation

      io.pedestal.http.content-negotiation

      best-match

      (best-match match-fn parsed-accept-maps)

      best-match-fn

      (best-match-fn supported-type-strs)

      negotiate-content

      (negotiate-content supported-type-strs)(negotiate-content supported-type-strs opts-map)

      Given a vector of strings (supported types mime-types) and optionally a map of additional options, return an interceptor that will parse client-request response formats, and add an :accept key on the request, of the most acceptable response format.

      The format of the :accept value is a map containing :field, :type, and :subtype - all strings

      Additional options: :no-match-fn - A function that takes a context; Called when no acceptable format/mime-type is found :content-param-paths - a vector of vectors; paths into the context to find ‘accept’ format strings

      -

      parse-accept-*

      (parse-accept-* accept-str)

      parse-accept-element

      (parse-accept-element accept-elem-str)

      weighted-accept-qs

      (weighted-accept-qs supported-types accept-elem)
      \ No newline at end of file +

      parse-accept-*

      (parse-accept-* accept-str)

      parse-accept-element

      (parse-accept-element accept-elem-str)

      weighted-accept-qs

      (weighted-accept-qs supported-types accept-elem)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.cors.html b/api/0.6/io.pedestal.http.cors.html index c81f19c..d8fa472 100644 --- a/api/0.6/io.pedestal.http.cors.html +++ b/api/0.6/io.pedestal.http.cors.html @@ -1,6 +1,6 @@ -io.pedestal.http.cors documentation

      io.pedestal.http.cors

      allow-origin

      (allow-origin allowed-origins)

      Builds a CORS interceptor that allows calls from the specified allowed-origins, which is one of the following:

      +io.pedestal.http.cors documentation

      io.pedestal.http.cors

      allow-origin

      (allow-origin allowed-origins)

      Builds a CORS interceptor that allows calls from the specified allowed-origins, which is one of the following:

      • a sequence of strings

        @@ -16,4 +16,4 @@

        :creds - true or false, indicates whether client is allowed to send credentials

        :max-age - a long, indicates the number of seconds a client should cache the response from a preflight request

        :methods - a string, indicates the accepted HTTP methods. Defaults to “GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS”

        -

      dev-allow-origin

      \ No newline at end of file +

      dev-allow-origin

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.csrf.html b/api/0.6/io.pedestal.http.csrf.html index 7f963f5..228ee98 100644 --- a/api/0.6/io.pedestal.http.csrf.html +++ b/api/0.6/io.pedestal.http.csrf.html @@ -1,9 +1,9 @@ -io.pedestal.http.csrf documentation

      io.pedestal.http.csrf

      CSRF protection interceptor support, compatible with ring-anti-forgery

      -

      access-denied-response

      (access-denied-response body)

      anti-forgery

      (anti-forgery)(anti-forgery options)

      Interceptor that prevents CSRF attacks. Any POST/PUT/PATCH/DELETE request to the handler returned by this function must contain a valid anti-forgery token, or else an access-denied response is returned.

      +io.pedestal.http.csrf documentation

      io.pedestal.http.csrf

      CSRF protection interceptor support, compatible with ring-anti-forgery

      +

      access-denied-response

      (access-denied-response body)

      anti-forgery

      (anti-forgery)(anti-forgery options)

      Interceptor that prevents CSRF attacks. Any POST/PUT/PATCH/DELETE request to the handler returned by this function must contain a valid anti-forgery token, or else an access-denied response is returned.

      The anti-forgery token can be placed into a HTML page via the ::anti-forgery-token within the request, which is bound to a random key unique to the current session. By default, the token is expected to be in a form field named ‘__anti-forgery-token’, or in the ‘X-CSRF-Token’ or ‘X-XSRF-Token’ headers.

      This behavior can be customized by supplying a map of options: :read-token a function that takes a request and returns an anti-forgery token, or nil if the token does not exist. :cookie-token a truthy value, if you want a CSRF double-submit cookie set :error-response the response to return if the anti-forgery token is incorrect or missing. :error-handler a handler function (passed the context) to call if the anti-forgery token is incorrect or missing (intended to return a valid response). :body-params a body-params parser map to use; If none is supplied, the default parsers will be used (standard body-params behavior) :cookie-attrs a map of attributes to associate with the csrf cookie.

      Only one of :error-response, :error-handler may be specified.

      -

      anti-forgery-rotate-token

      anti-forgery-token

      anti-forgery-token-str

      default-error-response

      denied-msg

      existing-token

      (existing-token request)

      new-token

      (new-token)

      rotate-token

      (rotate-token response)

      Rotate the csrf token, e.g. after login succeeds.

      -
      \ No newline at end of file +

      anti-forgery-rotate-token

      anti-forgery-token

      anti-forgery-token-str

      default-error-response

      denied-msg

      existing-token

      (existing-token request)

      new-token

      (new-token)

      rotate-token

      (rotate-token response)

      Rotate the csrf token, e.g. after login succeeds.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.html b/api/0.6/io.pedestal.http.html index 2bc1c72..25a89d1 100644 --- a/api/0.6/io.pedestal.http.html +++ b/api/0.6/io.pedestal.http.html @@ -1,16 +1,16 @@ -io.pedestal.http documentation

      io.pedestal.http

      Namespace which ties all the pedestal components together in a sensible default way to make a full blown application.

      +io.pedestal.http documentation

      io.pedestal.http

      Namespace which ties all the pedestal components together in a sensible default way to make a full blown application.

      create-provider

      (create-provider service-map)

      Creates the base Interceptor Chain provider, connecting a backend to the interceptor chain.

      -

      create-server

      (create-server service-map)(create-server service-map init-fn)

      Given a service map, creates an returns an initialized service map which is ready to be started via io.pedestal.http/start. If init-fn, a zero arg function, is provided, it is invoked first.

      +

      create-server

      (create-server service-map)(create-server service-map init-fn)

      Given a service map, creates an returns an initialized service map which is ready to be started via io.pedestal.http/start. If init-fn, a zero arg function, is provided, it is invoked first.

      Notes: - The returned, initialized service map contains the io.pedestal.http/start-fn and io.pedestal.http/stop-fn keys whose values are zero arg functions which are used to start/stop the http service, respectively. - If the service map option :io.pedestal.http/chain-provider is present, it is used to create the server, otherwise a servlet provider will be used. In this case, the type of servlet container created is determined by the :io.pedestal.http/type option. - For servlet containers, the resulting service-map will contain the io.pedestal.http/service-fn key which is useful for testing the service without starting it.

      -

      create-servlet

      (create-servlet service-map)

      Creates a servlet given an options map with keyword keys prefixed by namespace e.g. :io.pedestal.http/interceptors or ::bootstrap/interceptors if the namespace is aliased to bootstrap.

      +

      create-servlet

      (create-servlet service-map)

      Creates a servlet given an options map with keyword keys prefixed by namespace e.g. :io.pedestal.http/interceptors or ::bootstrap/interceptors if the namespace is aliased to bootstrap.

      Options:

      • :io.pedestal.http/interceptors: A vector of interceptors that defines a service.

      Note: Additional options are passed to default-interceptors if :interceptors is not set.

      -

      default-interceptors

      (default-interceptors service-map)

      Builds interceptors given an options map with keyword keys prefixed by namespace e.g. :io.pedestal.http/routes or ::bootstrap/routes if the namespace is aliased to bootstrap.

      +

      default-interceptors

      (default-interceptors service-map)

      Builds interceptors given an options map with keyword keys prefixed by namespace e.g. :io.pedestal.http/routes or ::bootstrap/routes if the namespace is aliased to bootstrap.

      Note: No additional interceptors are added if :interceptors key is set.

      Options:

      -

      dev-interceptors

      (dev-interceptors service-map)

      edn-response

      (edn-response obj)

      Return a Ring response that will print the given obj to the HTTP output stream in EDN format.

      -

      html-body

      Set the Content-Type header to “text/html” if the body is a string and a type has not been set.

      -

      interceptor-chain-provider

      (interceptor-chain-provider service-map)

      json-body

      Set the Content-Type header to “application/json” and convert the body to JSON if the body is a collection and a type has not been set.

      -

      json-print

      (json-print obj)

      Print object as JSON to out

      -

      json-response

      (json-response obj)

      Return a Ring response that will print the given obj to the HTTP output stream in JSON format.

      -

      log-request

      Log the request’s method and uri.

      -

      not-found

      An interceptor that returns a 404 when routing failed to resolve a route.

      -

      response?

      (response? resp)

      A valid response is any map that includes an integer :status value.

      -

      server

      (server service-map)

      service-fn

      (service-fn {interceptors :io.pedestal.http/interceptors, :as service-map})

      servlet

      (servlet {service-fn :io.pedestal.http/service-fn, :as service-map})

      servlet-destroy

      (servlet-destroy service)

      servlet-init

      (servlet-init service config)

      servlet-service

      (servlet-service service servlet-req servlet-resp)

      start

      (start service-map)

      Given service-map, an initialized service map returned by create-server, invokes the zero-arg function assoc’d to the service map via :io.pedestal.http/start-fn.

      +

      dev-interceptors

      (dev-interceptors service-map)

      edn-response

      (edn-response obj)

      Return a Ring response that will print the given obj to the HTTP output stream in EDN format.

      +

      html-body

      Set the Content-Type header to “text/html” if the body is a string and a type has not been set.

      +

      interceptor-chain-provider

      (interceptor-chain-provider service-map)

      json-body

      Set the Content-Type header to “application/json” and convert the body to JSON if the body is a collection and a type has not been set.

      +

      json-print

      (json-print obj)

      Print object as JSON to out

      +

      json-response

      (json-response obj)

      Return a Ring response that will print the given obj to the HTTP output stream in JSON format.

      +

      log-request

      Log the request’s method and uri.

      +

      not-found

      An interceptor that returns a 404 when routing failed to resolve a route.

      +

      response?

      (response? resp)

      A valid response is any map that includes an integer :status value.

      +

      server

      (server service-map)

      service-fn

      (service-fn {interceptors :io.pedestal.http/interceptors, :as service-map})

      servlet

      (servlet {service-fn :io.pedestal.http/service-fn, :as service-map})

      servlet-destroy

      (servlet-destroy service)

      servlet-init

      (servlet-init service config)

      servlet-service

      (servlet-service service servlet-req servlet-resp)

      start

      (start service-map)

      Given service-map, an initialized service map returned by create-server, invokes the zero-arg function assoc’d to the service map via :io.pedestal.http/start-fn.

      Returns service-map on success.

      -

      stop

      (stop service-map)

      Given service-map, an initialized service map returned by create-server, invokes the zero-arg function assoc’d to the service map via :io.pedestal.http/stop-fn.

      +

      stop

      (stop service-map)

      Given service-map, an initialized service map returned by create-server, invokes the zero-arg function assoc’d to the service map via :io.pedestal.http/stop-fn.

      Returns service-map on success.

      -

      transit-body

      Same as transit-json-body – Set the Content-Type header to “application/transit+json” and convert the body to transit+json if the body is a collection and a type has not been set.

      -

      transit-body-interceptor

      (transit-body-interceptor iname default-content-type transit-format)(transit-body-interceptor iname default-content-type transit-format transit-opts)

      Returns an interceptor which sets the Content-Type header to the appropriate value depending on the transit format. Converts the body to the specified Transit format if the body is a collection and a type has not been set. Optionally accepts transit-opts which are handed to trasit/writer and may contain custom write handlers.

      +

      transit-body

      Same as transit-json-body – Set the Content-Type header to “application/transit+json” and convert the body to transit+json if the body is a collection and a type has not been set.

      +

      transit-body-interceptor

      (transit-body-interceptor iname default-content-type transit-format)(transit-body-interceptor iname default-content-type transit-format transit-opts)

      Returns an interceptor which sets the Content-Type header to the appropriate value depending on the transit format. Converts the body to the specified Transit format if the body is a collection and a type has not been set. Optionally accepts transit-opts which are handed to trasit/writer and may contain custom write handlers.

      Expects the following arguments:

      iname - namespaced keyword for the interceptor name default-content-type - content-type string to set in the response transit-format - either :json or :msgpack transit-options - optional. map of options for transit/writer

      -

      transit-json-body

      Set the Content-Type header to “application/transit+json” and convert the body to transit+json if the body is a collection and a type has not been set.

      -

      transit-msgpack-body

      Set the Content-Type header to “application/transit+msgpack” and convert the body to transit+msgpack if the body is a collection and a type has not been set.

      -
      \ No newline at end of file +

      transit-json-body

      Set the Content-Type header to “application/transit+json” and convert the body to transit+json if the body is a collection and a type has not been set.

      +

      transit-msgpack-body

      Set the Content-Type header to “application/transit+msgpack” and convert the body to transit+msgpack if the body is a collection and a type has not been set.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.immutant.container.html b/api/0.6/io.pedestal.http.immutant.container.html index 289529e..2dc602b 100644 --- a/api/0.6/io.pedestal.http.immutant.container.html +++ b/api/0.6/io.pedestal.http.immutant.container.html @@ -1,3 +1,3 @@ -io.pedestal.http.immutant.container documentation

      io.pedestal.http.immutant.container

      \ No newline at end of file +io.pedestal.http.immutant.container documentation

      io.pedestal.http.immutant.container

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.immutant.html b/api/0.6/io.pedestal.http.immutant.html index fb06d5f..17844d7 100644 --- a/api/0.6/io.pedestal.http.immutant.html +++ b/api/0.6/io.pedestal.http.immutant.html @@ -1,7 +1,7 @@ -io.pedestal.http.immutant documentation

      io.pedestal.http.immutant

      ctx-config-hookup

      (ctx-config-hookup request service-map)

      Apply a context configurator to result of web/run, before web/server is called. This is currently only used for connecting Immutant WebSocket support.

      -

      server

      (server service-map)(server service-map options)

      Standard options :port 8080 :host localhost

      +io.pedestal.http.immutant documentation

      io.pedestal.http.immutant

      ctx-config-hookup

      (ctx-config-hookup request service-map)

      Apply a context configurator to result of web/run, before web/server is called. This is currently only used for connecting Immutant WebSocket support.

      +

      server

      (server service-map)(server service-map options)

      Standard options :port 8080 :host localhost

      Undertow tuning options (defaults depend on available resources) :io-threads :worker-threads :buffer-size :buffers-per-region :direct-buffers?

      SSL-related options :ssl-port :ssl-context :key-managers :trust-managers :keystore (either file path or KeyStore) :key-password :truststore (either file path or KeyStore) :trust-password :client-auth (either :want or :need)

      -

      start

      (start server)

      stop

      (stop server)
      \ No newline at end of file +

      start

      (start server)

      stop

      (stop server)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.immutant.websockets.html b/api/0.6/io.pedestal.http.immutant.websockets.html index c04af68..9b7ee51 100644 --- a/api/0.6/io.pedestal.http.immutant.websockets.html +++ b/api/0.6/io.pedestal.http.immutant.websockets.html @@ -1,4 +1,4 @@ -io.pedestal.http.immutant.websockets documentation

      io.pedestal.http.immutant.websockets

      add-ws-endpoints

      (add-ws-endpoints request ws-paths)

      make-ws-listener

      (make-ws-listener ws-map)

      Creates an Immutant listener (map) for a WebSocket connection. Note that on-text and on-binary will override each other in this implementation, and you should use on-message if you need a single handler to fulfill both binary and text messages.

      -

      start-ws-connection

      (start-ws-connection on-connect-fn)(start-ws-connection on-connect-fn send-buffer-or-n)
      \ No newline at end of file +io.pedestal.http.immutant.websockets documentation

      io.pedestal.http.immutant.websockets

      add-ws-endpoints

      (add-ws-endpoints request ws-paths)

      make-ws-listener

      (make-ws-listener ws-map)

      Creates an Immutant listener (map) for a WebSocket connection. Note that on-text and on-binary will override each other in this implementation, and you should use on-message if you need a single handler to fulfill both binary and text messages.

      +

      start-ws-connection

      (start-ws-connection on-connect-fn)(start-ws-connection on-connect-fn send-buffer-or-n)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.impl.servlet-interceptor.html b/api/0.6/io.pedestal.http.impl.servlet-interceptor.html index 0630459..fa5d6b8 100644 --- a/api/0.6/io.pedestal.http.impl.servlet-interceptor.html +++ b/api/0.6/io.pedestal.http.impl.servlet-interceptor.html @@ -1,15 +1,15 @@ -io.pedestal.http.impl.servlet-interceptor documentation

      io.pedestal.http.impl.servlet-interceptor

      Interceptors for adapting the Java HTTP Servlet interfaces.

      +io.pedestal.http.impl.servlet-interceptor documentation

      io.pedestal.http.impl.servlet-interceptor

      Interceptors for adapting the Java HTTP Servlet interfaces.

      exception-debug

      An interceptor which catches errors, renders them to readable text and sends them to the user. This interceptor is intended for development time assistance in debugging problems in pedestal services. Including it in interceptor paths on production systems may present a security risk by exposing call stacks of the application when exceptions are encountered.

      -

      http-interceptor-service-fn

      (http-interceptor-service-fn interceptors)(http-interceptor-service-fn interceptors default-context)

      Returns a function which can be used as an implementation of the Servlet.service method. It executes the interceptors on an initial context map containing :servlet, :servlet-config, :servlet-request, and :servlet-response. The terminator-injector, stylobate, and ring-response are prepended to the sequence of interceptors.

      -

      ring-response

      An interceptor which transmits a Ring specified response map to an HTTP response.

      +

      http-interceptor-service-fn

      (http-interceptor-service-fn interceptors)(http-interceptor-service-fn interceptors default-context)

      Returns a function which can be used as an implementation of the Servlet.service method. It executes the interceptors on an initial context map containing :servlet, :servlet-config, :servlet-request, and :servlet-response. The terminator-injector, stylobate, and ring-response are prepended to the sequence of interceptors.

      +

      ring-response

      An interceptor which transmits a Ring specified response map to an HTTP response.

      If a later interceptor in this context throws an exception which is not caught, this interceptor will set the HTTP response status code to 500 with a generic error message. Also, if later interceptors fail to furnish the context with a :response map, this interceptor will set the HTTP response to a 500 error.

      -

      set-response

      (set-response servlet-resp resp-map)

      stylobate

      An interceptor which creates favorable pre-conditions for further io.pedestal.interceptors, and handles all post-conditions for processing an interceptor chain. It expects a context map with :servlet-request, :servlet-response, and :servlet keys.

      +

      set-response

      (set-response servlet-resp resp-map)

      stylobate

      An interceptor which creates favorable pre-conditions for further io.pedestal.interceptors, and handles all post-conditions for processing an interceptor chain. It expects a context map with :servlet-request, :servlet-response, and :servlet keys.

      After entering this interceptor, the context will contain a new key :request, the value will be a request map adhering to the Ring specification1.

      This interceptor supports asynchronous responses as defined in the Java Servlet Specification2 version 3.0. On leaving this interceptor, if the servlet request has been set asynchronous, all asynchronous resources will be closed. Pausing this interceptor will inform the servlet container that the response will be delivered asynchronously.

      If a later interceptor in this context throws an exception which is not caught, this interceptor will log the error but not communicate any details to the client.

      -

      terminator-injector

      An interceptor which causes a interceptor to terminate when one of the interceptors produces a response, as defined by ring.util.response/response?

      -

      WriteableBody

      protocol

      members

      default-content-type

      (default-content-type body)

      Get default HTTP content-type for body.

      +

      terminator-injector

      An interceptor which causes a interceptor to terminate when one of the interceptors produces a response, as defined by ring.util.response/response?

      +

      WriteableBody

      protocol

      members

      default-content-type

      (default-content-type body)

      Get default HTTP content-type for body.

      write-body-to-stream

      (write-body-to-stream body output-stream)

      Write body to the stream output-stream.

      -

      WriteableBodyAsync

      protocol

      members

      write-body-async

      (write-body-async body servlet-response resume-chan context)
      \ No newline at end of file +

      WriteableBodyAsync

      protocol

      members

      write-body-async

      (write-body-async body servlet-response resume-chan context)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.jetty.container.html b/api/0.6/io.pedestal.http.jetty.container.html index c7b2cd0..0ec3ef7 100644 --- a/api/0.6/io.pedestal.http.jetty.container.html +++ b/api/0.6/io.pedestal.http.jetty.container.html @@ -1,3 +1,3 @@ -io.pedestal.http.jetty.container documentation

      io.pedestal.http.jetty.container

      \ No newline at end of file +io.pedestal.http.jetty.container documentation

      io.pedestal.http.jetty.container

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.jetty.html b/api/0.6/io.pedestal.http.jetty.html index e3c189c..98fc29f 100644 --- a/api/0.6/io.pedestal.http.jetty.html +++ b/api/0.6/io.pedestal.http.jetty.html @@ -1,3 +1,3 @@ -io.pedestal.http.jetty documentation

      io.pedestal.http.jetty

      server

      (server service-map)(server service-map options)

      start

      (start server {:keys [join?], :or {join? true}, :as options})

      stop

      (stop server)
      \ No newline at end of file +io.pedestal.http.jetty documentation

      io.pedestal.http.jetty

      server

      (server service-map)(server service-map options)

      start

      (start server {:keys [join?], :or {join? true}, :as options})

      stop

      (stop server)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.jetty.util.html b/api/0.6/io.pedestal.http.jetty.util.html index 8e5d488..c5ce3e0 100644 --- a/api/0.6/io.pedestal.http.jetty.util.html +++ b/api/0.6/io.pedestal.http.jetty.util.html @@ -1,5 +1,5 @@ -io.pedestal.http.jetty.util documentation

      io.pedestal.http.jetty.util

      add-server-filters

      (add-server-filters context & more-filter-opts)

      add-servlet-filter

      (add-servlet-filter context filter-opts)

      Add a ServletFilter to a ServletContextHandler, given the context and a map that contains: :filter - A FilterHolder, Filter class, or a String of a Filter class and optionally contains: :path - The pathSpec string that applies to the filter; defaults to ‘/*’ :dispatches - A keyword signaling the defaults to :request

      -

      dispatch-types

      dispatcher-set

      (dispatcher-set dispatches)

      Return a dispatch EnumSet given one of: - an EnumSet (no-op) - servlet DispatcherType - a keyword representation of DispatcherType (see dispatch-types) - :all which generates an EnumSet of all DispatcherTypes

      -

      filter-holder

      (filter-holder servlet-filter init-params)
      \ No newline at end of file +io.pedestal.http.jetty.util documentation

      io.pedestal.http.jetty.util

      add-server-filters

      (add-server-filters context & more-filter-opts)

      add-servlet-filter

      (add-servlet-filter context filter-opts)

      Add a ServletFilter to a ServletContextHandler, given the context and a map that contains: :filter - A FilterHolder, Filter class, or a String of a Filter class and optionally contains: :path - The pathSpec string that applies to the filter; defaults to ‘/*’ :dispatches - A keyword signaling the defaults to :request

      +

      dispatch-types

      dispatcher-set

      (dispatcher-set dispatches)

      Return a dispatch EnumSet given one of: - an EnumSet (no-op) - servlet DispatcherType - a keyword representation of DispatcherType (see dispatch-types) - :all which generates an EnumSet of all DispatcherTypes

      +

      filter-holder

      (filter-holder servlet-filter init-params)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.jetty.websockets.html b/api/0.6/io.pedestal.http.jetty.websockets.html index 5343ceb..54e4d1e 100644 --- a/api/0.6/io.pedestal.http.jetty.websockets.html +++ b/api/0.6/io.pedestal.http.jetty.websockets.html @@ -1,14 +1,14 @@ -io.pedestal.http.jetty.websockets documentation

      io.pedestal.http.jetty.websockets

      add-ws-endpoints

      (add-ws-endpoints ctx ws-paths)(add-ws-endpoints ctx ws-paths opts)

      Given a ServletContextHandler and a map of WebSocket (String) paths to action maps, produce corresponding Servlets per path and add them to the context. Return the context when complete.

      +io.pedestal.http.jetty.websockets documentation

      io.pedestal.http.jetty.websockets

      add-ws-endpoints

      (add-ws-endpoints ctx ws-paths)(add-ws-endpoints ctx ws-paths opts)

      Given a ServletContextHandler and a map of WebSocket (String) paths to action maps, produce corresponding Servlets per path and add them to the context. Return the context when complete.

      You may optionally also pass in a map of options. Currently supported options: :listener-fn - A function of 3 args, the ServletUpgradeRequest, ServletUpgradeResponse, and the WS-Map that returns a WebSocketListener.

      -

      make-ws-listener

      (make-ws-listener ws-map)

      Given a map representing WebSocket actions (:on-connect, :on-close, :on-error, :on-text, :on-binary), return a WebSocketConnectionListener. Values for the map are functions with the same arity as the interface.

      -

      start-ws-connection

      (start-ws-connection on-connect-fn)(start-ws-connection on-connect-fn send-buffer-or-n)

      Given a function of two arguments (the Jetty WebSocket Session and its paired core.async ‘send’ channel), and optionall a buffer-or-n for the ‘send’ channel, return a function that can be used as an OnConnect handler.

      +

      make-ws-listener

      (make-ws-listener ws-map)

      Given a map representing WebSocket actions (:on-connect, :on-close, :on-error, :on-text, :on-binary), return a WebSocketConnectionListener. Values for the map are functions with the same arity as the interface.

      +

      start-ws-connection

      (start-ws-connection on-connect-fn)(start-ws-connection on-connect-fn send-buffer-or-n)

      Given a function of two arguments (the Jetty WebSocket Session and its paired core.async ‘send’ channel), and optionall a buffer-or-n for the ‘send’ channel, return a function that can be used as an OnConnect handler.

      Notes: - You can control the entire WebSocket Session per client with the session object. - If you close the send channel, Pedestal will close the WS connection.

      -

      start-ws-connection-with-fc-support

      (start-ws-connection-with-fc-support on-connect-fn)(start-ws-connection-with-fc-support on-connect-fn send-buffer-or-n)

      Like start-ws-connection but transmission is non-blocking and supports conveying transmission results. This allows services to implement flow control.

      +

      start-ws-connection-with-fc-support

      (start-ws-connection-with-fc-support on-connect-fn)(start-ws-connection-with-fc-support on-connect-fn send-buffer-or-n)

      Like start-ws-connection but transmission is non-blocking and supports conveying transmission results. This allows services to implement flow control.

      Notes:

      Putting a sequential value on the send channel signals that a transmission response is desired. In this case the value is expected to be a 2-tuple of msg resp-ch where msg is the message to be sent and resp-ch is the channel in which the transmission result will be put.

      -

      WebSocketSend

      protocol

      members

      ws-send

      (ws-send msg remote-endpoint)

      Sends msg to remote-endpoint. May block.

      -

      WebSocketSendAsync

      protocol

      members

      ws-send-async

      (ws-send-async msg remote-endpoint)

      Sends msg to remote-endpoint. Returns a promise channel from which the result can be taken.

      -

      ws-servlet

      (ws-servlet creation-fn)

      Given a function (that takes a ServletUpgradeRequest and ServletUpgradeResponse and returns a WebSocketListener), return a WebSocketServlet that uses the function to create new WebSockets (via a factory).

      -
      \ No newline at end of file +

      WebSocketSend

      protocol

      members

      ws-send

      (ws-send msg remote-endpoint)

      Sends msg to remote-endpoint. May block.

      +

      WebSocketSendAsync

      protocol

      members

      ws-send-async

      (ws-send-async msg remote-endpoint)

      Sends msg to remote-endpoint. Returns a promise channel from which the result can be taken.

      +

      ws-servlet

      (ws-servlet creation-fn)

      Given a function (that takes a ServletUpgradeRequest and ServletUpgradeResponse and returns a WebSocketListener), return a WebSocketServlet that uses the function to create new WebSockets (via a factory).

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.params.html b/api/0.6/io.pedestal.http.params.html index 9a61f82..5431486 100644 --- a/api/0.6/io.pedestal.http.params.html +++ b/api/0.6/io.pedestal.http.params.html @@ -1,5 +1,5 @@ -io.pedestal.http.params documentation

      io.pedestal.http.params

      keyword-body-params

      Interceptor that converts the :body-params map to be keyed by keywords

      -

      keyword-params

      Interceptor that converts the :params map to be keyed by keywords

      -

      keywordize-keys

      (keywordize-keys x)

      keywordize-request-body-params

      keywordize-request-element

      (keywordize-request-element element context)

      keywordize-request-params

      \ No newline at end of file +io.pedestal.http.params documentation

      io.pedestal.http.params

      keyword-body-params

      Interceptor that converts the :body-params map to be keyed by keywords

      +

      keyword-params

      Interceptor that converts the :params map to be keyed by keywords

      +

      keywordize-keys

      (keywordize-keys x)

      keywordize-request-body-params

      keywordize-request-element

      (keywordize-request-element element context)

      keywordize-request-params

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.request.html b/api/0.6/io.pedestal.http.request.html index 436061e..377231d 100644 --- a/api/0.6/io.pedestal.http.request.html +++ b/api/0.6/io.pedestal.http.request.html @@ -1,4 +1,4 @@ -io.pedestal.http.request documentation

      io.pedestal.http.request

      base-request-map

      (base-request-map req)

      ContainerRequest

      protocol

      members

      async-started?

      (async-started? x)

      async-supported?

      (async-supported? x)

      body

      (body x)

      header

      (header x header-string)

      headers

      (headers x)

      path-info

      (path-info x)

      protocol

      (protocol x)

      query-string

      (query-string x)

      remote-addr

      (remote-addr x)

      request-method

      (request-method x)

      scheme

      (scheme x)

      server-name

      (server-name x)

      server-port

      (server-port x)

      ssl-client-cert

      (ssl-client-cert x)

      uri

      (uri x)

      ProxyDatastructure

      protocol

      members

      realized

      (realized this)

      Return fully-realized version of underlying data structure.

      -

      ResponseBuffer

      protocol

      members

      response-buffer-size

      (response-buffer-size x)

      ring-dispatch

      \ No newline at end of file +io.pedestal.http.request documentation

      io.pedestal.http.request

      base-request-map

      (base-request-map req)

      ContainerRequest

      protocol

      members

      async-started?

      (async-started? x)

      async-supported?

      (async-supported? x)

      body

      (body x)

      header

      (header x header-string)

      headers

      (headers x)

      path-info

      (path-info x)

      protocol

      (protocol x)

      query-string

      (query-string x)

      remote-addr

      (remote-addr x)

      request-method

      (request-method x)

      scheme

      (scheme x)

      server-name

      (server-name x)

      server-port

      (server-port x)

      ssl-client-cert

      (ssl-client-cert x)

      uri

      (uri x)

      ProxyDatastructure

      protocol

      members

      realized

      (realized this)

      Return fully-realized version of underlying data structure.

      +

      ResponseBuffer

      protocol

      members

      response-buffer-size

      (response-buffer-size x)

      ring-dispatch

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.request.lazy.html b/api/0.6/io.pedestal.http.request.lazy.html index f36cfb3..b5f41ed 100644 --- a/api/0.6/io.pedestal.http.request.lazy.html +++ b/api/0.6/io.pedestal.http.request.lazy.html @@ -1,14 +1,14 @@ -io.pedestal.http.request.lazy documentation

      io.pedestal.http.request.lazy

      classify-keys

      (classify-keys [k v])

      Classify key-value pair based on whether its value is delayed, realized, or normal.

      -

      derefing-map-entry

      (derefing-map-entry kv)(derefing-map-entry k v)

      Create a new MapEntry-like object, but allow for values to be transparently derefed when accessed.

      +io.pedestal.http.request.lazy documentation

      io.pedestal.http.request.lazy

      classify-keys

      (classify-keys [k v])

      Classify key-value pair based on whether its value is delayed, realized, or normal.

      +

      derefing-map-entry

      (derefing-map-entry kv)(derefing-map-entry k v)

      Create a new MapEntry-like object, but allow for values to be transparently derefed when accessed.

      Does not provide the same level of ‘equivalency’ checking that MapEntry does. Use ‘seq’ to get a realized pair of key-value.

      -

      IntoLazyRequest

      protocol

      members

      -lazy-request

      (-lazy-request t)

      Create a lazy request

      -

      lazy-request

      (lazy-request m)

      Return a LazyRequest map that transparently derefs values that are delays.

      +

      IntoLazyRequest

      protocol

      members

      -lazy-request

      (-lazy-request t)

      Create a lazy request

      +

      lazy-request

      (lazy-request m)

      Return a LazyRequest map that transparently derefs values that are delays.

      Example: (:foo (lazy-request {:foo (delay :bar)})) ;; => :bar

      LazyRequest’s are value-equal to other LazyRequest’s that share the same underlying map, but not to raw maps. Use raw or realized to return plain maps of original key-vals or realized key-vals, respectively.

      -

      LazyDatastructure

      protocol

      Utilities for manipulating/realizing lazy data structures.

      +

      LazyDatastructure

      protocol

      Utilities for manipulating/realizing lazy data structures.

      members

      touch

      (touch this)

      Realize all portions of the underlying data structure. Returns this.

      -

      RawAccess

      protocol

      Utilities for exposing raw access to advanced data structures that layer new semantics onto simpler types.

      +

      RawAccess

      protocol

      Utilities for exposing raw access to advanced data structures that layer new semantics onto simpler types.

      members

      raw

      (raw this)

      Return the raw data structure underlying a more advanced wrapper

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.request.map.html b/api/0.6/io.pedestal.http.request.map.html index aa27f51..bed4f36 100644 --- a/api/0.6/io.pedestal.http.request.map.html +++ b/api/0.6/io.pedestal.http.request.map.html @@ -1,3 +1,3 @@ -io.pedestal.http.request.map documentation

      io.pedestal.http.request.map

      add-character-encoding

      (add-character-encoding req-map servlet-req)

      add-content-length

      (add-content-length req-map servlet-req)

      add-content-type

      (add-content-type req-map servlet-req)

      add-ssl-client-cert

      (add-ssl-client-cert req-map servlet-req)

      servlet-request-map

      (servlet-request-map servlet servlet-req servlet-resp)
      \ No newline at end of file +io.pedestal.http.request.map documentation

      io.pedestal.http.request.map

      add-character-encoding

      (add-character-encoding req-map servlet-req)

      add-content-length

      (add-content-length req-map servlet-req)

      add-content-type

      (add-content-type req-map servlet-req)

      add-ssl-client-cert

      (add-ssl-client-cert req-map servlet-req)

      servlet-request-map

      (servlet-request-map servlet servlet-req servlet-resp)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.request.servlet-support.html b/api/0.6/io.pedestal.http.request.servlet-support.html index 19e81e4..5d3d54c 100644 --- a/api/0.6/io.pedestal.http.request.servlet-support.html +++ b/api/0.6/io.pedestal.http.request.servlet-support.html @@ -1,3 +1,3 @@ -io.pedestal.http.request.servlet-support documentation

      io.pedestal.http.request.servlet-support

      servlet-path-info

      (servlet-path-info request)

      servlet-request-headers

      (servlet-request-headers servlet-req)
      \ No newline at end of file +io.pedestal.http.request.servlet-support documentation

      io.pedestal.http.request.servlet-support

      servlet-path-info

      (servlet-path-info request)

      servlet-request-headers

      (servlet-request-headers servlet-req)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.request.zerocopy.html b/api/0.6/io.pedestal.http.request.zerocopy.html index 0e2cfd7..77b8bc0 100644 --- a/api/0.6/io.pedestal.http.request.zerocopy.html +++ b/api/0.6/io.pedestal.http.request.zerocopy.html @@ -1,3 +1,3 @@ -io.pedestal.http.request.zerocopy documentation

      io.pedestal.http.request.zerocopy

      call-through-request

      (call-through-request container-req)(call-through-request container-req override-map)
      \ No newline at end of file +io.pedestal.http.request.zerocopy documentation

      io.pedestal.http.request.zerocopy

      call-through-request

      (call-through-request container-req)(call-through-request container-req override-map)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.ring-middlewares.html b/api/0.6/io.pedestal.http.ring-middlewares.html index f7ed96e..18e92ae 100644 --- a/api/0.6/io.pedestal.http.ring-middlewares.html +++ b/api/0.6/io.pedestal.http.ring-middlewares.html @@ -1,19 +1,19 @@ -io.pedestal.http.ring-middlewares documentation

      io.pedestal.http.ring-middlewares

      This namespace creates interceptors for ring-core middlewares.

      +io.pedestal.http.ring-middlewares documentation

      io.pedestal.http.ring-middlewares

      This namespace creates interceptors for ring-core middlewares.

      content-type

      (content-type & [opts])

      Interceptor for content-type ring middleware.

      -

      cookies

      Interceptor for cookies ring middleware. Be sure to persist :cookies from the request to response.

      -

      fast-resource

      (fast-resource root-path)(fast-resource root-path opts)

      Interceptor for resource handling. This interceptor will return async responses for large files (files larger than the HTTP Buffer) If your container doesn’t recognize FileChannel response bodies, this interceptor will cause errors Supports a map of options: :index? - If path is a directory, will attempt to find an ‘index.*’ file to serve. Defaults to true :follow-symlinks? - Serve files through symbolic links. Defaults to false :loader - A class loader specific for these resource fetches. Default to nil (use the main class loader)

      -

      file

      (file root-path & [opts])

      Interceptor for file ring middleware.

      -

      file-info

      (file-info & [mime-types])

      Interceptor for file-info ring middleware.

      -

      flash

      (flash)

      Interceptor for flash ring middleware. Be sure to persist keys needed by session and cookie interceptors.

      -

      head

      (head)

      Interceptor to handle head requests. If used with defroutes, it will not work if specified in an interceptor’s meta-key.

      -

      keyword-params

      Retained for backward compatibility. io.pedestal.http.params/keyword-params is recommended

      -

      multipart-params

      (multipart-params & [opts])

      Interceptor for multipart-params ring middleware.

      -

      nested-params

      (nested-params & [opts])

      Interceptor for nested-params ring middleware.

      -

      not-modified

      (not-modified)

      Interceptor for not-modified ring middleware.

      -

      params

      (params & [opts])

      Interceptor for params ring middleware.

      -

      resource

      (resource root-path)

      Interceptor for resource ring middleware

      -

      response-fn-adapter

      (response-fn-adapter response-fn)(response-fn-adapter response-fn opts)

      Adapts a ring middleware fn taking a response and request to an interceptor context.

      -

      session

      (session)(session options)

      Interceptor for session ring middleware. Be sure to persist :session and :session/key from request to the response.

      -
      \ No newline at end of file +

      cookies

      Interceptor for cookies ring middleware. Be sure to persist :cookies from the request to response.

      +

      fast-resource

      (fast-resource root-path)(fast-resource root-path opts)

      Interceptor for resource handling. This interceptor will return async responses for large files (files larger than the HTTP Buffer) If your container doesn’t recognize FileChannel response bodies, this interceptor will cause errors Supports a map of options: :index? - If path is a directory, will attempt to find an ‘index.*’ file to serve. Defaults to true :follow-symlinks? - Serve files through symbolic links. Defaults to false :loader - A class loader specific for these resource fetches. Default to nil (use the main class loader)

      +

      file

      (file root-path & [opts])

      Interceptor for file ring middleware.

      +

      file-info

      (file-info & [mime-types])

      Interceptor for file-info ring middleware.

      +

      flash

      (flash)

      Interceptor for flash ring middleware. Be sure to persist keys needed by session and cookie interceptors.

      +

      head

      (head)

      Interceptor to handle head requests. If used with defroutes, it will not work if specified in an interceptor’s meta-key.

      +

      keyword-params

      Retained for backward compatibility. io.pedestal.http.params/keyword-params is recommended

      +

      multipart-params

      (multipart-params & [opts])

      Interceptor for multipart-params ring middleware.

      +

      nested-params

      (nested-params & [opts])

      Interceptor for nested-params ring middleware.

      +

      not-modified

      (not-modified)

      Interceptor for not-modified ring middleware.

      +

      params

      (params & [opts])

      Interceptor for params ring middleware.

      +

      resource

      (resource root-path)

      Interceptor for resource ring middleware

      +

      response-fn-adapter

      (response-fn-adapter response-fn)(response-fn-adapter response-fn opts)

      Adapts a ring middleware fn taking a response and request to an interceptor context.

      +

      session

      (session)(session options)

      Interceptor for session ring middleware. Be sure to persist :session and :session/key from request to the response.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.definition.html b/api/0.6/io.pedestal.http.route.definition.html index 2fb4d00..e5c04c0 100644 --- a/api/0.6/io.pedestal.http.route.definition.html +++ b/api/0.6/io.pedestal.http.route.definition.html @@ -1,8 +1,8 @@ -io.pedestal.http.route.definition documentation

      io.pedestal.http.route.definition

      allowed-keys

      capture-constraint

      (capture-constraint [k v])

      Add parenthesis to a regex in order to capture its value during evaluation.

      -

      defroutes

      macro

      (defroutes name route-spec)

      Deprecated. – Prefer def and program against ExpandableRoutes Define a routing table from the terse routing syntax.

      -

      ensure-routes-integrity

      (ensure-routes-integrity route-maps)

      prioritize-constraints

      (prioritize-constraints routing-table)

      Sort a flat routing table of entries to guarantee that the most constrained route entries appear in the table prior to entries which have fewer constraints or no constraints.

      -

      schemes

      sort-by-constraints

      (sort-by-constraints groupings route-path)

      Sort the grouping of route entries which all correspond to route-path from groupings such that the most constrained route table entries appear first and the least constrained appear last.

      -

      symbol->keyword

      (symbol->keyword s)

      uniquely-add-route-path

      (uniquely-add-route-path route-paths route-path)

      Append route-path to route-paths if route-paths doesn’t contain it already.

      -

      verify-unique-route-names

      (verify-unique-route-names routing-table)
      \ No newline at end of file +io.pedestal.http.route.definition documentation

      io.pedestal.http.route.definition

      allowed-keys

      capture-constraint

      (capture-constraint [k v])

      Add parenthesis to a regex in order to capture its value during evaluation.

      +

      defroutes

      macro

      (defroutes name route-spec)

      Deprecated. – Prefer def and program against ExpandableRoutes Define a routing table from the terse routing syntax.

      +

      ensure-routes-integrity

      (ensure-routes-integrity route-maps)

      prioritize-constraints

      (prioritize-constraints routing-table)

      Sort a flat routing table of entries to guarantee that the most constrained route entries appear in the table prior to entries which have fewer constraints or no constraints.

      +

      schemes

      sort-by-constraints

      (sort-by-constraints groupings route-path)

      Sort the grouping of route entries which all correspond to route-path from groupings such that the most constrained route table entries appear first and the least constrained appear last.

      +

      symbol->keyword

      (symbol->keyword s)

      uniquely-add-route-path

      (uniquely-add-route-path route-paths route-path)

      Append route-path to route-paths if route-paths doesn’t contain it already.

      +

      verify-unique-route-names

      (verify-unique-route-names routing-table)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.definition.table.html b/api/0.6/io.pedestal.http.route.definition.table.html index 0ca22b7..eed7253 100644 --- a/api/0.6/io.pedestal.http.route.definition.table.html +++ b/api/0.6/io.pedestal.http.route.definition.table.html @@ -1,3 +1,3 @@ -io.pedestal.http.route.definition.table documentation

      io.pedestal.http.route.definition.table

      attach-constraints

      attach-path-regex

      (attach-path-regex ctx)

      attach-route-name

      ensure-unique-route-names

      (ensure-unique-route-names routes)

      finalize

      (finalize ctx)

      make-parse-context

      (make-parse-context opts row route)

      parse-constraints

      (parse-constraints {:keys [constraints path-params], :as ctx})

      parse-handlers

      (parse-handlers ctx)

      parse-path

      (parse-path ctx)

      parse-route-name

      (parse-route-name {:keys [route-name interceptors last-handler], :as ctx})

      parse-verb

      (parse-verb ctx)

      route-name

      (route-name route)

      route-table-row

      (route-table-row opts row route)

      table-routes

      (table-routes routes)(table-routes opts routes)

      take-next-pair

      (take-next-pair argname expected-pred expected-str ctx)
      \ No newline at end of file +io.pedestal.http.route.definition.table documentation

      io.pedestal.http.route.definition.table

      attach-constraints

      attach-path-regex

      (attach-path-regex ctx)

      attach-route-name

      ensure-unique-route-names

      (ensure-unique-route-names routes)

      finalize

      (finalize ctx)

      make-parse-context

      (make-parse-context opts row route)

      parse-constraints

      (parse-constraints {:keys [constraints path-params], :as ctx})

      parse-handlers

      (parse-handlers ctx)

      parse-path

      (parse-path ctx)

      parse-route-name

      (parse-route-name {:keys [route-name interceptors last-handler], :as ctx})

      parse-verb

      (parse-verb ctx)

      route-name

      (route-name route)

      route-table-row

      (route-table-row opts row route)

      table-routes

      (table-routes routes)(table-routes opts routes)

      take-next-pair

      (take-next-pair argname expected-pred expected-str ctx)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.definition.terse.html b/api/0.6/io.pedestal.http.route.definition.terse.html index b3782d4..22435e0 100644 --- a/api/0.6/io.pedestal.http.route.definition.terse.html +++ b/api/0.6/io.pedestal.http.route.definition.terse.html @@ -1,8 +1,8 @@ -io.pedestal.http.route.definition.terse documentation

      io.pedestal.http.route.definition.terse

      constraint-map?

      dissoc-when

      (dissoc-when pred m)

      Dissoc those keys from m whose values in m satisfy pred.

      -

      expand-constraint

      multimethod

      Expand into additional nodes which reflect constraints and apply them to specs.

      -

      ExpandableVerbAction

      protocol

      members

      expand-verb-action

      (expand-verb-action expandable-verb-action)

      Expand expandable-verb-action into a verbose-form verb-map.

      -

      first-of

      (first-of p coll)

      flatten-terse-app-routes

      (flatten-terse-app-routes route-spec)

      Return a vector of maps that are equivalent to the terse routing syntax, but expanded for consumption by the verbose route parser.

      -

      interceptor-vector?

      map-routes->vec-routes

      (map-routes->vec-routes route-map)

      Given a map-based route description, return Pedestal’s terse, vector-based routes, with interceptors correctly setup. These generated routes can be consumed by expand-routes

      -

      preamble?

      terse-routes

      (terse-routes route-spec)

      valid-handler?

      \ No newline at end of file +io.pedestal.http.route.definition.terse documentation

      io.pedestal.http.route.definition.terse

      constraint-map?

      dissoc-when

      (dissoc-when pred m)

      Dissoc those keys from m whose values in m satisfy pred.

      +

      expand-constraint

      multimethod

      Expand into additional nodes which reflect constraints and apply them to specs.

      +

      ExpandableVerbAction

      protocol

      members

      expand-verb-action

      (expand-verb-action expandable-verb-action)

      Expand expandable-verb-action into a verbose-form verb-map.

      +

      first-of

      (first-of p coll)

      flatten-terse-app-routes

      (flatten-terse-app-routes route-spec)

      Return a vector of maps that are equivalent to the terse routing syntax, but expanded for consumption by the verbose route parser.

      +

      interceptor-vector?

      map-routes->vec-routes

      (map-routes->vec-routes route-map)

      Given a map-based route description, return Pedestal’s terse, vector-based routes, with interceptors correctly setup. These generated routes can be consumed by expand-routes

      +

      preamble?

      terse-routes

      (terse-routes route-spec)

      valid-handler?

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.definition.verbose.html b/api/0.6/io.pedestal.http.route.definition.verbose.html index 29517a6..733d8b7 100644 --- a/api/0.6/io.pedestal.http.route.definition.verbose.html +++ b/api/0.6/io.pedestal.http.route.definition.verbose.html @@ -1,4 +1,4 @@ -io.pedestal.http.route.definition.verbose documentation

      io.pedestal.http.route.definition.verbose

      default-dna

      expand-verbose-routes

      (expand-verbose-routes route-maps)

      Expand route-maps into a routing table of route entries.

      -

      handler-interceptor

      (handler-interceptor handler name)

      handler-map

      (handler-map m)

      path-join

      (path-join parent-path path)

      resolve-interceptor

      (resolve-interceptor interceptor name)

      undoubleslash

      (undoubleslash s)
      \ No newline at end of file +io.pedestal.http.route.definition.verbose documentation

      io.pedestal.http.route.definition.verbose

      default-dna

      expand-verbose-routes

      (expand-verbose-routes route-maps)

      Expand route-maps into a routing table of route entries.

      +

      handler-interceptor

      (handler-interceptor handler name)

      handler-map

      (handler-map m)

      path-join

      (path-join parent-path path)

      resolve-interceptor

      (resolve-interceptor interceptor name)

      undoubleslash

      (undoubleslash s)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.html b/api/0.6/io.pedestal.http.route.html index b3d95e2..3438fc2 100644 --- a/api/0.6/io.pedestal.http.route.html +++ b/api/0.6/io.pedestal.http.route.html @@ -1,50 +1,50 @@ -io.pedestal.http.route documentation

      io.pedestal.http.route

      decode-query-part

      (decode-query-part string)

      Decodes one key or value of URL-encoded UTF-8 characters in a URL query string.

      -

      encode-query-part

      (encode-query-part string)

      Encodes one key or value for a UTF-8 URL-encoded query string. Encodes space as +.

      -

      expand-routes

      (expand-routes route-spec)

      Given a value (the route specification), produce and return a routing table, a seq of verbose routing maps.

      +io.pedestal.http.route documentation

      io.pedestal.http.route

      decode-query-part

      (decode-query-part string)

      Decodes one key or value of URL-encoded UTF-8 characters in a URL query string.

      +

      encode-query-part

      (encode-query-part string)

      Encodes one key or value for a UTF-8 URL-encoded query string. Encodes space as +.

      +

      expand-routes

      (expand-routes route-spec)

      Given a value (the route specification), produce and return a routing table, a seq of verbose routing maps.

      A route specification is any type that satisfies ExpandableRoutes; this includes Clojure vectors, maps, and sets (for terse, table, and verbose routes).

      Ensures the integrity of expanded routes (even if they’ve already been checked):

      • Constraints are correctly ordered (most specific to least specific)
      • Route names are unique
      -

      ExpandableRoutes

      protocol

      A protocol extended onto types that can be used to convert instances into a seq of verbose route maps, the routing table.

      +

      ExpandableRoutes

      protocol

      A protocol extended onto types that can be used to convert instances into a seq of verbose route maps, the routing table.

      Built-in implementations map vectors to terse-routes, sets to table-routes, and maps to map-routes->vec-routes.

      members

      -expand-routes

      (-expand-routes expandable-route-spec)

      Generate and return the routing table from a given expandable form of routing data.

      -

      form-action-for-routes

      (form-action-for-routes routes & default-options)

      Like ‘url-for-routes’ but the returned function returns a map with the keys :action, the URL string; and :method, the HTTP verb as a lower-case string. Also, the :method-param is :_method by default, so HTTP verbs other than GET and POST will be converted to POST with the actual verb in the query string.

      -

      method-param

      (method-param)(method-param query-param-or-param-path)

      Returns an interceptor that smuggles HTTP verbs through a value in the request. Must come after the interceptor that populates that value (e.g. query-params or body-params).

      +

      form-action-for-routes

      (form-action-for-routes routes & default-options)

      Like ‘url-for-routes’ but the returned function returns a map with the keys :action, the URL string; and :method, the HTTP verb as a lower-case string. Also, the :method-param is :_method by default, so HTTP verbs other than GET and POST will be converted to POST with the actual verb in the query string.

      +

      method-param

      (method-param)(method-param query-param-or-param-path)

      Returns an interceptor that smuggles HTTP verbs through a value in the request. Must come after the interceptor that populates that value (e.g. query-params or body-params).

      query-param-or-param-path may be one of two things:

      The path :query-params :_method is used by default.

      -

      parse-param-map

      (parse-param-map m)

      parse-path-params

      (parse-path-params request)

      parse-query-params

      (parse-query-params request)

      parse-query-string

      (parse-query-string string & options)

      Parses URL query string (not including the leading ‘?’) into a map. options are key-value pairs, valid options are:

      +

      parse-param-map

      (parse-param-map m)

      parse-path-params

      (parse-path-params request)

      parse-query-params

      (parse-query-params request)

      parse-query-string

      (parse-query-string string & options)

      Parses URL query string (not including the leading ‘?’) into a map. options are key-value pairs, valid options are:

      :key-fn Function to call on parameter keys (after URL decoding), returns key for the map, default converts to a keyword.

      :value-fn Function to call on the key (after passing through key-fn) and parameter value (after URL decoding), returns value for the map, default does nothing.

      -

      path-params-decoder

      An Interceptor which URL-decodes path parameters.

      -

      print-routes

      (print-routes routing-table)

      Prints a route table (from expand-routes) in an easier to read format.

      -

      query-params

      Returns an interceptor which parses query-string parameters from an HTTP request into a map. Keys in the map are query-string parameter names, as keywords, and values are strings. The map is assoc’d into the request at :query-params.

      -

      router

      (router routing-table)(router routing-table router-type)

      Given the routing table and, optionally, what kind of router to construct, returns a RouterSpecification instance, from which a routing interceptor can be obtained.

      +

      path-params-decoder

      An Interceptor which URL-decodes path parameters.

      +

      print-routes

      (print-routes routing-table)

      Prints a route table (from expand-routes) in an easier to read format.

      +

      query-params

      Returns an interceptor which parses query-string parameters from an HTTP request into a map. Keys in the map are query-string parameter names, as keywords, and values are strings. The map is assoc’d into the request at :query-params.

      +

      router

      (router routing-table)(router routing-table router-type)

      Given the routing table and, optionally, what kind of router to construct, returns a RouterSpecification instance, from which a routing interceptor can be obtained.

      router-type may be a keyword identifying a known router-implementation, or function that accepts a routing table, and returns a Router.

      The default router type is :map-tree, which is the fastest built-in router; however, if the expanded routes contain path paramters or wildcards, the result is equivalent to the slower :prefix-tree implementation.

      -

      router-implementations

      Maps from the common router implemenations (:map-tree, :prefix-tree, or :linear-search) to a router constructor function (which accepts expanded routes, and returns a Router instance).

      -

      RouterSpecification

      protocol

      members

      router-spec

      (router-spec routing-table router-ctor)

      Returns an interceptor which attempts to match each route against a :request in context. For the first route that matches, it will:

      +

      router-implementations

      Maps from the common router implemenations (:map-tree, :prefix-tree, or :linear-search) to a router constructor function (which accepts expanded routes, and returns a Router instance).

      +

      RouterSpecification

      protocol

      members

      router-spec

      (router-spec routing-table router-ctor)

      Returns an interceptor which attempts to match each route against a :request in context. For the first route that matches, it will:

      • enqueue the matched route’s interceptors
      • associate the route into the context at :route
      • associate a map of :path-params into the :request

      If no route matches, returns context with :route nil.

      -

      try-routing-for

      (try-routing-for routing-table router-type path verb)

      Used for testing; constructs a router from the routing-table and router-type and perform routing, returning the matched route (from the expanded routes), or nil if routing was unsuccessful.

      -

      url-for

      (url-for route-name & options)

      Invokes currently bound contextual linker to generate url based on

      +

      try-routing-for

      (try-routing-for routing-table router-type path verb)

      Used for testing; constructs a router from the routing-table and router-type and perform routing, returning the matched route (from the expanded routes), or nil if routing was unsuccessful.

      +

      url-for

      (url-for route-name & options)

      Invokes currently bound contextual linker to generate url based on

      • The routing table in use.
      • The incoming request being routed.

      where options are as described in url-for-routes.

      -

      url-for-routes

      (url-for-routes routes & default-options)

      Returns a function that generates URL routes (as strings) from the routes table. The returned function has the signature:

      +

      url-for-routes

      (url-for-routes routes & default-options)

      Returns a function that generates URL routes (as strings) from the routes table. The returned function has the signature:

      route-name & options

      Where ‘options’ are key-value pairs from:

      :app-name Application name specified for this route

      @@ -61,4 +61,4 @@

      :host A string used to override the host portion of the URL.

      :port An integer used to override the port in the URL.

      In addition, you may supply default-options to the ‘url-for-routes’ function, which are merged with the options supplied to the returned function.

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.linear-search.html b/api/0.6/io.pedestal.http.route.linear-search.html index 243b0a3..0ae6995 100644 --- a/api/0.6/io.pedestal.http.route.linear-search.html +++ b/api/0.6/io.pedestal.http.route.linear-search.html @@ -1,4 +1,4 @@ -io.pedestal.http.route.linear-search documentation

      io.pedestal.http.route.linear-search

      router

      (router routes)

      Given a sequence of routes, return a router which satisfies the io.pedestal.http.route.router/Router protocol.

      -
      \ No newline at end of file +io.pedestal.http.route.linear-search documentation

      io.pedestal.http.route.linear-search

      router

      (router routes)

      Given a sequence of routes, return a router which satisfies the io.pedestal.http.route.router/Router protocol.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.map-tree.html b/api/0.6/io.pedestal.http.route.map-tree.html index 36790d4..51291b1 100644 --- a/api/0.6/io.pedestal.http.route.map-tree.html +++ b/api/0.6/io.pedestal.http.route.map-tree.html @@ -1,5 +1,5 @@ -io.pedestal.http.route.map-tree documentation

      io.pedestal.http.route.map-tree

      matching-route-map

      (matching-route-map routes)

      Given the full sequence of route-maps, return a single map, keyed by path, whose value is a function matching on the req. The function takes a request, matches criteria and constraints, and returns the most specific match. This function only processes the routes if all routes are static.

      -

      router

      (router routes)

      Given a sequence of routes, return a router which satisfies the io.pedestal.http.route.router/Router protocol.

      -
      \ No newline at end of file +io.pedestal.http.route.map-tree documentation

      io.pedestal.http.route.map-tree

      matching-route-map

      (matching-route-map routes)

      Given the full sequence of route-maps, return a single map, keyed by path, whose value is a function matching on the req. The function takes a request, matches criteria and constraints, and returns the most specific match. This function only processes the routes if all routes are static.

      +

      router

      (router routes)

      Given a sequence of routes, return a router which satisfies the io.pedestal.http.route.router/Router protocol.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.path.html b/api/0.6/io.pedestal.http.route.path.html index 618cef1..4725f5e 100644 --- a/api/0.6/io.pedestal.http.route.path.html +++ b/api/0.6/io.pedestal.http.route.path.html @@ -1,3 +1,3 @@ -io.pedestal.http.route.path documentation

      io.pedestal.http.route.path

      merge-path-regex

      (merge-path-regex route)

      parse-path

      (parse-path pattern)(parse-path accumulated-info pattern)

      path-regex

      (path-regex {:keys [path-parts path-constraints], :as route})
      \ No newline at end of file +io.pedestal.http.route.path documentation

      io.pedestal.http.route.path

      merge-path-regex

      (merge-path-regex route)

      parse-path

      (parse-path pattern)(parse-path accumulated-info pattern)

      path-regex

      (path-regex {:keys [path-parts path-constraints], :as route})
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.prefix-tree.html b/api/0.6/io.pedestal.http.route.prefix-tree.html index bb031ca..f517aa2 100644 --- a/api/0.6/io.pedestal.http.route.prefix-tree.html +++ b/api/0.6/io.pedestal.http.route.prefix-tree.html @@ -1,10 +1,10 @@ -io.pedestal.http.route.prefix-tree documentation

      io.pedestal.http.route.prefix-tree

      add-satisfies-constraints?

      (add-satisfies-constraints? {:keys [query-constraints path-constraints], :as route})

      Given a route, add a function of the request which returns true if the request satisfies all path and query constraints.

      -

      contains-wilds?

      (contains-wilds? path-spec)

      Return true if the given path-spec contains any wildcard params or catch-alls.

      -

      create-payload-fn

      (create-payload-fn routes)

      Given a sequence of routes, return a function of a request which will return a matching route. When the returned function is called we already know that the path matches. The function only considers method, host, scheme and port and will return the most specific match.

      -

      insert

      (insert node path-spec o)

      Given a tree node, a path-spec and a payload object, return a new tree with payload inserted.

      -

      lookup

      (lookup node path)

      Given a tree node and request path, find a matching leaf node and return the path params and payload or return nil if no match is found. Returns a map with :path-params and :payload keys.

      -

      partition-wilds

      (partition-wilds path-spec)

      Given a path-spec string, return a seq of strings with wildcards and catch-alls separated into their own strings. Eats the forward slash following a wildcard.

      -

      router

      (router routes)

      Given a sequence of routes, return a router which satisfies the io.pedestal.http.route.router/Router protocol.

      -
      \ No newline at end of file +io.pedestal.http.route.prefix-tree documentation

      io.pedestal.http.route.prefix-tree

      add-satisfies-constraints?

      (add-satisfies-constraints? {:keys [query-constraints path-constraints], :as route})

      Given a route, add a function of the request which returns true if the request satisfies all path and query constraints.

      +

      contains-wilds?

      (contains-wilds? path-spec)

      Return true if the given path-spec contains any wildcard params or catch-alls.

      +

      create-payload-fn

      (create-payload-fn routes)

      Given a sequence of routes, return a function of a request which will return a matching route. When the returned function is called we already know that the path matches. The function only considers method, host, scheme and port and will return the most specific match.

      +

      insert

      (insert node path-spec o)

      Given a tree node, a path-spec and a payload object, return a new tree with payload inserted.

      +

      lookup

      (lookup node path)

      Given a tree node and request path, find a matching leaf node and return the path params and payload or return nil if no match is found. Returns a map with :path-params and :payload keys.

      +

      partition-wilds

      (partition-wilds path-spec)

      Given a path-spec string, return a seq of strings with wildcards and catch-alls separated into their own strings. Eats the forward slash following a wildcard.

      +

      router

      (router routes)

      Given a sequence of routes, return a router which satisfies the io.pedestal.http.route.router/Router protocol.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.route.router.html b/api/0.6/io.pedestal.http.route.router.html index 302d154..0e289b8 100644 --- a/api/0.6/io.pedestal.http.route.router.html +++ b/api/0.6/io.pedestal.http.route.router.html @@ -1,5 +1,5 @@ -io.pedestal.http.route.router documentation

      io.pedestal.http.route.router

      Router

      protocol

      A Router is created from a routing table (see expand-routes). Each implementation of Router represents a different strategy for dispatching incoming requests, balancing a number of tradeoffs.

      +io.pedestal.http.route.router documentation

      io.pedestal.http.route.router

      Router

      protocol

      A Router is created from a routing table (see expand-routes). Each implementation of Router represents a different strategy for dispatching incoming requests, balancing a number of tradeoffs.

      members

      find-route

      (find-route this req)

      Given an incoming request, find the matching route (one route map from the routing routes).

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.secure-headers.html b/api/0.6/io.pedestal.http.secure-headers.html index c017d18..bb7cdd0 100644 --- a/api/0.6/io.pedestal.http.secure-headers.html +++ b/api/0.6/io.pedestal.http.secure-headers.html @@ -1,12 +1,12 @@ -io.pedestal.http.secure-headers documentation

      io.pedestal.http.secure-headers

      Secure header settings applied in interceptors

      +io.pedestal.http.secure-headers documentation

      io.pedestal.http.secure-headers

      Secure header settings applied in interceptors

      content-security-policy-header

      (content-security-policy-header)(content-security-policy-header options)

      Create a custom value for the Content-Security-Policy header. No arg version returns a semi-‘Strict’ or script-focused policy: object-src ‘none’; script-src ‘unsafe-inline’ ‘unsafe-eval’ ‘strict-dynamic’ https: http:; To lock your resources to only those served by your domain (subdomains not included), consider: object-src ‘none’; default-src ‘self’

      -

      content-type-header

      (content-type-header)(content-type-header value)

      Create a custom value for content-type options. No arg version returns most secure setting: nosniff

      -

      create-headers

      (create-headers)(create-headers hsts-settings frame-options-settings content-type-settings xss-protection-settings download-options-settings cross-domain-policies-settings content-security-policy-settings)

      cross-domain-policies-header

      (cross-domain-policies-header)(cross-domain-policies-header value)

      Create a custom value for the X-Permitted-Cross-Domain-Policies header. No arg version returns the most secure setting: none.

      -

      csp-map->str

      (csp-map->str options)

      download-options-header

      (download-options-header)(download-options-header value)

      Create a custom value for the X-Download-Options header. No arg version returns the most secure setting: noopen. Passing a nil value will return nil, and the header won’t be added.

      -

      frame-options-header

      (frame-options-header)(frame-options-header policy)(frame-options-header allow-from-policy origin)

      Create a custom polic value for Frame-Options header. No arg version returns most secure setting: DENY

      -

      header-names

      header-names-vec

      hsts-header

      (hsts-header)(hsts-header max-age-secs)(hsts-header max-age-secs include-subdomains?)

      Create a max-age (and optionally include subdomains) Strict-Transport header No arg version sets age at 1 year (31536000 seconds) and includes subdomains. You may want to use 1 hour (3600 secs), 1 day (86400 secs), 1 week (604800 secs), or 1 month (2628000 secs)

      -

      secure-headers

      (secure-headers)(secure-headers options)

      Options are header values, which can be generated by the helper functions here

      -

      xss-protection-header

      (xss-protection-header)(xss-protection-header value)(xss-protection-header value mode)

      Create a custom value (and optionally mode) XSS-Protection header. No arg version returns the most secure setting: 1; block.

      -
      \ No newline at end of file +

      content-type-header

      (content-type-header)(content-type-header value)

      Create a custom value for content-type options. No arg version returns most secure setting: nosniff

      +

      create-headers

      (create-headers)(create-headers hsts-settings frame-options-settings content-type-settings xss-protection-settings download-options-settings cross-domain-policies-settings content-security-policy-settings)

      cross-domain-policies-header

      (cross-domain-policies-header)(cross-domain-policies-header value)

      Create a custom value for the X-Permitted-Cross-Domain-Policies header. No arg version returns the most secure setting: none.

      +

      csp-map->str

      (csp-map->str options)

      download-options-header

      (download-options-header)(download-options-header value)

      Create a custom value for the X-Download-Options header. No arg version returns the most secure setting: noopen. Passing a nil value will return nil, and the header won’t be added.

      +

      frame-options-header

      (frame-options-header)(frame-options-header policy)(frame-options-header allow-from-policy origin)

      Create a custom polic value for Frame-Options header. No arg version returns most secure setting: DENY

      +

      header-names

      header-names-vec

      hsts-header

      (hsts-header)(hsts-header max-age-secs)(hsts-header max-age-secs include-subdomains?)

      Create a max-age (and optionally include subdomains) Strict-Transport header No arg version sets age at 1 year (31536000 seconds) and includes subdomains. You may want to use 1 hour (3600 secs), 1 day (86400 secs), 1 week (604800 secs), or 1 month (2628000 secs)

      +

      secure-headers

      (secure-headers)(secure-headers options)

      Options are header values, which can be generated by the helper functions here

      +

      xss-protection-header

      (xss-protection-header)(xss-protection-header value)(xss-protection-header value mode)

      Create a custom value (and optionally mode) XSS-Protection header. No arg version returns the most secure setting: 1; block.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.servlet.html b/api/0.6/io.pedestal.http.servlet.html index 2cc598d..da0156c 100644 --- a/api/0.6/io.pedestal.http.servlet.html +++ b/api/0.6/io.pedestal.http.servlet.html @@ -1,10 +1,10 @@ -io.pedestal.http.servlet documentation

      io.pedestal.http.servlet

      Generic Servlet adapter that closes over its implementation functions.

      +io.pedestal.http.servlet documentation

      io.pedestal.http.servlet

      Generic Servlet adapter that closes over its implementation functions.

      servlet

      (servlet & {:keys [init service destroy]})

      Returns an instance of javax.servlet.Servlet using provided functions for its implementation. Arguments are key-value pairs of:

      :init optional, initialization function taking two arguments: the Servlet and its ServletConfig

      :service required, handler function taking three arguments: the Servlet, ServletRequest, and ServletResponse

      :destroy optional, shutdown function taking one argument: the Servlet

      The :init, :service, and :destroy options correspond to the Servlet interface methods of the same names.

      Note: this function returns an instance, not a class. If you need a class with a static name (for example, to deploy to a Servlet container) use the Java class pedestal.servlet.ClojureVarServlet.

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.sse.html b/api/0.6/io.pedestal.http.sse.html index b85446b..28a14b6 100644 --- a/api/0.6/io.pedestal.http.sse.html +++ b/api/0.6/io.pedestal.http.sse.html @@ -1,11 +1,11 @@ -io.pedestal.http.sse documentation

      io.pedestal.http.sse

      COMMENT_FIELD

      counted-thread-factory

      (counted-thread-factory name-format daemon)

      Create a ThreadFactory that maintains a counter for naming Threads. name-format specifies thread names - use %d to include counter daemon is a flag for whether threads are daemons or not

      -

      CRLF

      daemon-thread-factory

      DATA_FIELD

      do-heartbeat

      (do-heartbeat channel)(do-heartbeat channel {:keys [on-client-disconnect]})

      end-event-stream

      deprecated in 0.4.0

      (end-event-stream {end-fn :io.pedestal.http.sse/end-event-stream})

      DEPRECATED. Given a context, clean up the event stream it represents.

      -

      EVENT_FIELD

      get-bytes

      (get-bytes s)

      ID_FIELD

      mk-data

      (mk-data name data)(mk-data name data id)

      scheduler

      send-event

      (send-event channel name data)(send-event channel name data id)(send-event channel name data id put-fn)

      sse-setup

      (sse-setup & args)

      See start-event-stream. This function is for backward compatibility.

      -

      start-event-stream

      (start-event-stream stream-ready-fn)(start-event-stream stream-ready-fn heartbeat-delay)(start-event-stream stream-ready-fn heartbeat-delay bufferfn-or-n)(start-event-stream stream-ready-fn heartbeat-delay bufferfn-or-n opts)

      Returns an interceptor which will start a Server Sent Event stream with the requesting client, and set the ServletResponse to go async. After the request handling context has been paused in the Servlet thread, stream-ready-fn will be called in a future, with the resulting context from setting up the SSE event stream.

      +io.pedestal.http.sse documentation

      io.pedestal.http.sse

      COMMENT_FIELD

      counted-thread-factory

      (counted-thread-factory name-format daemon)

      Create a ThreadFactory that maintains a counter for naming Threads. name-format specifies thread names - use %d to include counter daemon is a flag for whether threads are daemons or not

      +

      daemon-thread-factory

      DATA_FIELD

      do-heartbeat

      (do-heartbeat channel)(do-heartbeat channel {:keys [on-client-disconnect]})

      end-event-stream

      deprecated in 0.4.0

      (end-event-stream {end-fn :io.pedestal.http.sse/end-event-stream})

      DEPRECATED. Given a context, clean up the event stream it represents.

      +

      EVENT_FIELD

      get-bytes

      (get-bytes s)

      ID_FIELD

      mk-data

      (mk-data name data)(mk-data name data id)

      scheduler

      send-event

      (send-event channel name data)(send-event channel name data id)(send-event channel name data id put-fn)

      sse-setup

      (sse-setup & args)

      See start-event-stream. This function is for backward compatibility.

      +

      start-event-stream

      (start-event-stream stream-ready-fn)(start-event-stream stream-ready-fn heartbeat-delay)(start-event-stream stream-ready-fn heartbeat-delay bufferfn-or-n)(start-event-stream stream-ready-fn heartbeat-delay bufferfn-or-n opts)

      Returns an interceptor which will start a Server Sent Event stream with the requesting client, and set the ServletResponse to go async. After the request handling context has been paused in the Servlet thread, stream-ready-fn will be called in a future, with the resulting context from setting up the SSE event stream.

      opts is a map with optional keys:

      :on-client-disconnect - A function of one argument which will be called when the client permanently disconnects.

      -

      start-stream

      (start-stream stream-ready-fn context heartbeat-delay)(start-stream stream-ready-fn context heartbeat-delay bufferfn-or-n)(start-stream stream-ready-fn context heartbeat-delay bufferfn-or-n opts)

      Starts an SSE event stream and initiates a heartbeat to keep the connection alive. stream-ready-fn will be called with a core.async channel. The application can then put maps with keys :name and :data on that channel to cause SSE events to be sent to the client. Either the client or the application may close the channel to terminate and clean up the event stream; the client closes it by closing the connection.

      +

      start-stream

      (start-stream stream-ready-fn context heartbeat-delay)(start-stream stream-ready-fn context heartbeat-delay bufferfn-or-n)(start-stream stream-ready-fn context heartbeat-delay bufferfn-or-n opts)

      Starts an SSE event stream and initiates a heartbeat to keep the connection alive. stream-ready-fn will be called with a core.async channel. The application can then put maps with keys :name and :data on that channel to cause SSE events to be sent to the client. Either the client or the application may close the channel to terminate and clean up the event stream; the client closes it by closing the connection.

      The SSE’s core.async buffer can either be a fixed buffer (n) or a 0-arity function that returns a buffer.

      -
      \ No newline at end of file +

      UTF-8

      \ No newline at end of file diff --git a/api/0.6/io.pedestal.http.tomcat.html b/api/0.6/io.pedestal.http.tomcat.html index 4defbb3..eea410e 100644 --- a/api/0.6/io.pedestal.http.tomcat.html +++ b/api/0.6/io.pedestal.http.tomcat.html @@ -1,3 +1,3 @@ -io.pedestal.http.tomcat documentation

      io.pedestal.http.tomcat

      apply-ssl-opts

      (apply-ssl-opts connector opts)

      server

      (server service-map)(server service-map options)

      ssl-conn-factory

      (ssl-conn-factory opts)

      ssl-opt-keys

      start

      (start server {:keys [join?], :or {join? true}})

      stop

      (stop server)
      \ No newline at end of file +io.pedestal.http.tomcat documentation

      io.pedestal.http.tomcat

      apply-ssl-opts

      (apply-ssl-opts connector opts)

      server

      (server service-map)(server service-map options)

      ssl-conn-factory

      (ssl-conn-factory opts)

      ssl-opt-keys

      start

      (start server {:keys [join?], :or {join? true}})

      stop

      (stop server)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.interceptor.chain.html b/api/0.6/io.pedestal.interceptor.chain.html index b3a432e..405ba91 100644 --- a/api/0.6/io.pedestal.interceptor.chain.html +++ b/api/0.6/io.pedestal.interceptor.chain.html @@ -1,16 +1,16 @@ -io.pedestal.interceptor.chain documentation

      io.pedestal.interceptor.chain

      Interceptor pattern. Executes a chain of Interceptor functions on a common “context” map, maintaining a virtual “stack”, with error handling and support for asynchronous execution.

      +io.pedestal.interceptor.chain documentation

      io.pedestal.interceptor.chain

      Interceptor pattern. Executes a chain of Interceptor functions on a common “context” map, maintaining a virtual “stack”, with error handling and support for asynchronous execution.

      enqueue

      (enqueue context interceptors)

      Adds interceptors to the end of context’s execution queue. Creates the queue if necessary. Returns updated context.

      -

      enqueue*

      (enqueue* context & interceptors-and-seq)

      Like ‘enqueue’ but vararg. If the last argument is a sequence of interceptors, they’re unpacked and to added to the context’s execution queue.

      -

      execute

      (execute context)(execute context interceptors)

      Executes a queue of Interceptors attached to the context. Context must be a map, Interceptors are added with ‘enqueue’.

      +

      enqueue*

      (enqueue* context & interceptors-and-seq)

      Like ‘enqueue’ but vararg. If the last argument is a sequence of interceptors, they’re unpacked and to added to the context’s execution queue.

      +

      execute

      (execute context)(execute context interceptors)

      Executes a queue of Interceptors attached to the context. Context must be a map, Interceptors are added with ‘enqueue’.

      An Interceptor is a map or map-like object with the keys :enter, :leave, and :error. The value of each key is a function; missing keys or nil values are ignored. When executing a context, first all the :enter functions are invoked in order. As this happens, the Interceptors are pushed on to a stack.

      When execution reaches the end of the queue, it begins popping Interceptors off the stack and calling their :leave functions. Therefore :leave functions are called in the opposite order from :enter functions.

      Both the :enter and :leave functions are called on a single argument, the context map, and return an updated context.

      If any Interceptor function throws an exception, execution stops and begins popping Interceptors off the stack and calling their :error functions. The :error function takes two arguments: the context and an exception. It may either handle the exception, in which case the execution continues with the next :leave function on the stack; or re-throw the exception, passing control to the :error function on the stack. If the exception reaches the end of the stack without being handled, execute will throw it.

      -

      execute-only

      (execute-only context interceptor-key)(execute-only context interceptor-key interceptors)

      Like execute, but only processes the interceptors in a single direction, using interceptor-key (i.e. :enter, :leave) to determine which functions to call.

      +

      execute-only

      (execute-only context interceptor-key)(execute-only context interceptor-key interceptors)

      Like execute, but only processes the interceptors in a single direction, using interceptor-key (i.e. :enter, :leave) to determine which functions to call.

      Executes a queue of Interceptors attached to the context. Context must be a map, Interceptors are added with ‘enqueue’.

      An Interceptor Record has keys :enter, :leave, and :error. The value of each key is a function; missing keys or nil values are ignored. When executing a context, all the interceptor-key functions are invoked in order. As this happens, the Interceptors are pushed on to a stack.

      -

      terminate

      (terminate context)

      Removes all remaining interceptors from context’s execution queue. This effectively short-circuits execution of Interceptors’ :enter functions and begins executing the :leave functions.

      -

      terminate-when

      (terminate-when context pred)

      Adds pred as a terminating condition of the context. pred is a function that takes a context as its argument. It will be invoked after every Interceptor’s :enter function. If pred returns logical true, execution will stop at that Interceptor.

      -
      \ No newline at end of file +

      terminate

      (terminate context)

      Removes all remaining interceptors from context’s execution queue. This effectively short-circuits execution of Interceptors’ :enter functions and begins executing the :leave functions.

      +

      terminate-when

      (terminate-when context pred)

      Adds pred as a terminating condition of the context. pred is a function that takes a context as its argument. It will be invoked after every Interceptor’s :enter function. If pred returns logical true, execution will stop at that Interceptor.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.interceptor.error.html b/api/0.6/io.pedestal.interceptor.error.html index e48c5e0..b0ffacb 100644 --- a/api/0.6/io.pedestal.interceptor.error.html +++ b/api/0.6/io.pedestal.interceptor.error.html @@ -1,6 +1,6 @@ -io.pedestal.interceptor.error documentation

      io.pedestal.interceptor.error

      error-dispatch

      macro

      (error-dispatch binding-vector & match-forms)

      Return an interceptor for doing pattern-matched error-dispatch, based on the ex-data of the exception. Pedestal wraps all exceptions in ex-info on error, providing the following keys to match on: :execution-id, :stage, :interceptor, :exception-type

      +io.pedestal.interceptor.error documentation

      io.pedestal.interceptor.error

      error-dispatch

      macro

      (error-dispatch binding-vector & match-forms)

      Return an interceptor for doing pattern-matched error-dispatch, based on the ex-data of the exception. Pedestal wraps all exceptions in ex-info on error, providing the following keys to match on: :execution-id, :stage, :interceptor, :exception-type

      This allows you to match the exact exception type, per interceptor/handler, and even constrain it to a single stage (:enter, :leave, :error).

      :exception-type is a keyword of the exception’s type, for example, `:java.lang.ArithmeticException

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.interceptor.helpers.html b/api/0.6/io.pedestal.interceptor.helpers.html index b962f0f..ba99e8d 100644 --- a/api/0.6/io.pedestal.interceptor.helpers.html +++ b/api/0.6/io.pedestal.interceptor.helpers.html @@ -1,19 +1,19 @@ -io.pedestal.interceptor.helpers documentation

      io.pedestal.interceptor.helpers

      deprecated in 0.6.0

      A collection of interceptor helpers.

      +io.pedestal.interceptor.helpers documentation

      io.pedestal.interceptor.helpers

      deprecated in 0.6.0

      A collection of interceptor helpers.

      The usage of the Interceptor API is preferred over the macros defined in this namespace. Usage of the macro helpers should be limited to cases where you are porting an existing Pedestal code base.

      The helper macros predate the interceptor API and can break AOT compilation but they are maintained for backwards compatibility. Refer to https://github.com/pedestal/pedestal/issues/308 and https://github.com/pedestal/pedestal/pull/301 for more details about macro helper issues and the rationale for the Interceptor API.

      This namespace has been effectively deprecated since 2016, and is fully deprecated in release 0.6.0.

      after

      (after f)(after f & args)

      Return an interceptor which calls f on context during the leave stage.

      -

      around

      (around f1 f2)(around n f1 f2)

      Return an interceptor which calls f1 on context during the enter stage, and calls f2 on context during the leave stage.

      -

      before

      (before f)(before f & args)

      Returns an interceptor which calls f on context during the enter stage.

      -

      defafter

      macro

      (defafter macro-name__14831__auto__ & args__14832__auto__)

      Defines an after interceptor. The defined function is processed during the leave stage of interceptor execution. The implicitly created function will operate on context, and return a value used as the new context, e.g.:

      +

      around

      (around f1 f2)(around n f1 f2)

      Return an interceptor which calls f1 on context during the enter stage, and calls f2 on context during the leave stage.

      +

      before

      (before f)(before f & args)

      Returns an interceptor which calls f on context during the enter stage.

      +

      defafter

      macro

      (defafter macro-name__14831__auto__ & args__14832__auto__)

      Defines an after interceptor. The defined function is processed during the leave stage of interceptor execution. The implicitly created function will operate on context, and return a value used as the new context, e.g.:

      (defafter check-zotted context (if-not (:zotted context) (throw (ex-info “Context was not zotted!” {:context context})) context))

      -

      defaround

      macro

      (defaround n & args)

      Defines an around interceptor. The definition resembles a multiple arity function definition, however both fns are 1-arity. The first fn will be called during the enter stage, the second during the leave stage, e.g.:

      +

      defaround

      macro

      (defaround n & args)

      Defines an around interceptor. The definition resembles a multiple arity function definition, however both fns are 1-arity. The first fn will be called during the enter stage, the second during the leave stage, e.g.:

      (defaround aroundinterceptor (context(assoc context :around :entering)) (context(assoc context :around :leaving)))

      -

      defbefore

      macro

      (defbefore macro-name__14831__auto__ & args__14832__auto__)

      Defines a before interceptor. The defined function performs processing during interceptor execution during the enter stage. The implicitly created function will operate on context, and return a value used as the new context, e.g.:

      +

      defbefore

      macro

      (defbefore macro-name__14831__auto__ & args__14832__auto__)

      Defines a before interceptor. The defined function performs processing during interceptor execution during the enter stage. The implicitly created function will operate on context, and return a value used as the new context, e.g.:

      (defbefore flag-zotted context (assoc context :zotted true))

      -

      defhandler

      macro

      (defhandler macro-name__14831__auto__ & args__14832__auto__)

      Defines a handler interceptor. The definition mirrors a ring-style request handler and is made in terms of a ring style request. The implicitly created interceptor will extract the request from the context it receives, pass it to the defined function, and then associate the return value from the defined function as into context with the :response key and return context, e.g.:

      +

      defhandler

      macro

      (defhandler macro-name__14831__auto__ & args__14832__auto__)

      Defines a handler interceptor. The definition mirrors a ring-style request handler and is made in terms of a ring style request. The implicitly created interceptor will extract the request from the context it receives, pass it to the defined function, and then associate the return value from the defined function as into context with the :response key and return context, e.g.:

      (defhandler hello-name request (ring.util.response/response (str "Hello, " (-> request :params :name))))

      This is equivalent to:

      (defbefore hello-name context (let request (:request context) response (ring.util.response/response (str "Hello, " (-> request :params :name))) (assoc context :response response)))

      -

      definterceptor

      macro

      deprecated in 0.6.0

      (definterceptor name & body)

      Define an instance of an interceptor and store it in a var. An optional doc string can be provided. The body can be anything that satisfies the IntoInterceptor protocol.

      +

      definterceptor

      macro

      deprecated in 0.6.0

      (definterceptor name & body)

      Define an instance of an interceptor and store it in a var. An optional doc string can be provided. The body can be anything that satisfies the IntoInterceptor protocol.

      usage: (definterceptor encode-response “An interceptor that encodes the response as json” (on-response encode-json))

      Alternatively, you may also: (def encode-response “An interceptor that encodes the response as json” (on-response encode-json)

      -

      defmiddleware

      macro

      (defmiddleware n & args)

      Defines a middleware interceptor. The definition resembles a multiple arity function definition, however both fns are 1-arity. The first fn will be called during the enter stage with the value of the :request key in the context, the second during the leave stage with the response key in the context, e.g.:

      +

      defmiddleware

      macro

      (defmiddleware n & args)

      Defines a middleware interceptor. The definition resembles a multiple arity function definition, however both fns are 1-arity. The first fn will be called during the enter stage with the value of the :request key in the context, the second during the leave stage with the response key in the context, e.g.:

      (defmiddleware middleware-interceptor (request(assoc request :middleware :on-request)) (response(assoc response :middleware :on-response)))

      -

      defon-request

      macro

      (defon-request macro-name__14831__auto__ & args__14832__auto__)

      Defines an on-request interceptor. The definition performs pre-processing on a request during the enter stage of interceptor execution. The implicitly created interceptor will extract the request from the context it receives, pass it to the defined function, and then associate the return value from the defined function as into context with the :request key and return context, e.g.:

      +

      defon-request

      macro

      (defon-request macro-name__14831__auto__ & args__14832__auto__)

      Defines an on-request interceptor. The definition performs pre-processing on a request during the enter stage of interceptor execution. The implicitly created interceptor will extract the request from the context it receives, pass it to the defined function, and then associate the return value from the defined function as into context with the :request key and return context, e.g.:

      (defon-request parse-body-as-wibblefish request (assoc request :wibblefish-params (wibblefish-parse (:body request))))

      This is equivalent to:

      (defbefore parse-body-as-wibblefish context (let request (:request context) new-request (assoc request :wibblefish-params (wibblefish-parse (:body request))) (assoc context :request new-request)))

      -

      defon-response

      macro

      (defon-response macro-name__14831__auto__ & args__14832__auto__)

      Defines an on-response interceptor. The definition performs post processing on a response during the leave stage of interceptor execution. The implicitly created interceptor will extract the response from the context it receives, pass it to the defined function, and then associate the return value from the defined function into context with the :response key and return context, e.g.:

      +

      defon-response

      macro

      (defon-response macro-name__14831__auto__ & args__14832__auto__)

      Defines an on-response interceptor. The definition performs post processing on a response during the leave stage of interceptor execution. The implicitly created interceptor will extract the response from the context it receives, pass it to the defined function, and then associate the return value from the defined function into context with the :response key and return context, e.g.:

      (defon-response change-body-to-html response (assoc response :body (render-to-html (:body response))))

      This is equivalent to:

      (defafter change-body-to-html context (let response (:response context) new-response (assoc response :body (render-to-html (:body response))) (assoc context :response new-response)))

      -

      handler

      (handler f)(handler n f)

      Returns an interceptor which calls f on the :request value of context, and assoc’s the return value as :response into context during the enter stage.

      -

      infer-rest-interceptor-function

      (infer-rest-interceptor-function args)

      Given list args, return the rest of args that would remain after removing the elements of args that specify the form returned by infer-first-interceptor-function.

      -

      middleware

      (middleware f1 f2)(middleware n f1 f2)

      Returns an interceptor which calls f1 on the :request value of context during the enter stage, and f2 on the :response value of context during the leave stage.

      -

      on-request

      (on-request f)(on-request f & args)

      Returns an interceptor which updates the :request value of context with f during the enter stage.

      -

      on-response

      (on-response f)(on-response f & args)

      Returns an interceptor which updates the :response value of context with f during the leave stage.

      -
      \ No newline at end of file +

      handler

      (handler f)(handler n f)

      Returns an interceptor which calls f on the :request value of context, and assoc’s the return value as :response into context during the enter stage.

      +

      infer-rest-interceptor-function

      (infer-rest-interceptor-function args)

      Given list args, return the rest of args that would remain after removing the elements of args that specify the form returned by infer-first-interceptor-function.

      +

      middleware

      (middleware f1 f2)(middleware n f1 f2)

      Returns an interceptor which calls f1 on the :request value of context during the enter stage, and f2 on the :response value of context during the leave stage.

      +

      on-request

      (on-request f)(on-request f & args)

      Returns an interceptor which updates the :request value of context with f during the enter stage.

      +

      on-response

      (on-response f)(on-response f & args)

      Returns an interceptor which updates the :response value of context with f during the leave stage.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.interceptor.html b/api/0.6/io.pedestal.interceptor.html index dc9bcee..522ce13 100644 --- a/api/0.6/io.pedestal.interceptor.html +++ b/api/0.6/io.pedestal.interceptor.html @@ -1,6 +1,6 @@ -io.pedestal.interceptor documentation

      io.pedestal.interceptor

      Public API for creating interceptors, and various utility fns for common interceptor creation patterns.

      +io.pedestal.interceptor documentation

      io.pedestal.interceptor

      Public API for creating interceptors, and various utility fns for common interceptor creation patterns.

      interceptor

      (interceptor t)

      Given a value, produces and returns an Interceptor (Record).

      -

      interceptor-name

      (interceptor-name n)

      interceptor?

      (interceptor? o)

      IntoInterceptor

      protocol

      members

      -interceptor

      (-interceptor t)

      Given a value, produce an Interceptor Record.

      -

      valid-interceptor?

      (valid-interceptor? o)
      \ No newline at end of file +

      interceptor-name

      (interceptor-name n)

      interceptor?

      (interceptor? o)

      IntoInterceptor

      protocol

      members

      -interceptor

      (-interceptor t)

      Given a value, produce an Interceptor Record.

      +

      valid-interceptor?

      (valid-interceptor? o)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.interceptor.trace.html b/api/0.6/io.pedestal.interceptor.trace.html index 8889f85..9b09fdf 100644 --- a/api/0.6/io.pedestal.interceptor.trace.html +++ b/api/0.6/io.pedestal.interceptor.trace.html @@ -1,8 +1,8 @@ -io.pedestal.interceptor.trace documentation

      io.pedestal.interceptor.trace

      default-span-postprocess

      (default-span-postprocess context span)

      default-span-resolver

      (default-span-resolver context)(default-span-resolver context servlet-class)

      headers->span-context

      (headers->span-context tracer headers)

      tracing-interceptor

      (tracing-interceptor)(tracing-interceptor opts)

      Return an Interceptor for automatically initiating a distributed trace span on every request, which is finished on leave.

      +io.pedestal.interceptor.trace documentation

      io.pedestal.interceptor.trace

      default-span-postprocess

      (default-span-postprocess context span)

      default-span-resolver

      (default-span-resolver context)(default-span-resolver context servlet-class)

      headers->span-context

      (headers->span-context tracer headers)

      tracing-interceptor

      (tracing-interceptor)(tracing-interceptor opts)

      Return an Interceptor for automatically initiating a distributed trace span on every request, which is finished on leave.

      Spans are automatically populated with relevant tags: http.method, http.status_code, http.uri, span.kind

      If on leave there is an :error in the context, this interceptor with log the error with the span.

      Possible options: :span-resolver - a single-arg function that is given the context and returns a started and activated span, resolving any propagated or parent span. The default resolver is io.pedestal.interceptor.trace.default-span-resolver which resolves (in order; first resolution wins): 1. Pedestal tracing values in the Context 2. OpenTracing Servlet values (if the Servlet API class is detected) 3. OpenTracing Header values 4. Nothing found - A new span is created :trace-filter - a single-arg function that is given the context and returns true if a span should be created for this request. If not set or set to nil, spans are created for every request :uri-as-span-operation? - Boolean; True if the request URI should be used as the default span name - defaults to true :default-span-operation - A string or keyword to use as the default span name if URI isn’t found or :uri-as-span-operation? is false. Defaults to ‘PedestalSpan’ :span-postprocess - A function given the context and the span, performs any necessary span cleanup tasks and returns the context

      If the trace-filter or the span-resolver return something falsey, the context is forwarded without an active span

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.log.aws.xray.html b/api/0.6/io.pedestal.log.aws.xray.html index f99eb6c..e7d4cd0 100644 --- a/api/0.6/io.pedestal.log.aws.xray.html +++ b/api/0.6/io.pedestal.log.aws.xray.html @@ -1,7 +1,7 @@ -io.pedestal.log.aws.xray documentation

      io.pedestal.log.aws.xray

      span-postprocess

      (span-postprocess context span)

      span-resolver

      (span-resolver context)(span-resolver context servlet-class)

      This is an AWS-specific span resolver for use with the io.pedestal.interceptor.trace/tracing-interceptor Interceptor.

      +io.pedestal.log.aws.xray documentation

      io.pedestal.log.aws.xray

      span-postprocess

      (span-postprocess context span)

      span-resolver

      (span-resolver context)(span-resolver context servlet-class)

      This is an AWS-specific span resolver for use with the io.pedestal.interceptor.trace/tracing-interceptor Interceptor.

      This resolves any possible Span/Segment in the following order: 1. Pedestal tracing value in the Context 2. AWS X-Ray Servlet values (if the Servlet API class is detected) 3. AWS X-Ray Headers 4. Nothing found - a new span/segment is created.

      -

      trace-header-lower

      tracer

      (tracer)

      This function returns an XRay Recorder. You can assign this tracer to be the default in Pedestal Log by either: * Setting the JVM property io.pedestal.log.defaultTracer to ‘io.pedestal.log.aws.xray/tracer’ * Setting the PEDESTAL_TRACER environment variable to ‘io.pedestal.log.aws.xray/tracer’

      +

      trace-header-lower

      tracer

      (tracer)

      This function returns an XRay Recorder. You can assign this tracer to be the default in Pedestal Log by either: * Setting the JVM property io.pedestal.log.defaultTracer to ‘io.pedestal.log.aws.xray/tracer’ * Setting the PEDESTAL_TRACER environment variable to ‘io.pedestal.log.aws.xray/tracer’

      If you’re using an OpenTracing adaptor for XRay, you can register the tracer directly with: (io.pedestal.log/-register ...)

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.log.html b/api/0.6/io.pedestal.log.html index 96e9b0d..7ab1fa2 100644 --- a/api/0.6/io.pedestal.log.html +++ b/api/0.6/io.pedestal.log.html @@ -1,14 +1,14 @@ -io.pedestal.log documentation

      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.

      +io.pedestal.log documentation

      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.

      *mdc-context*

      dynamic

      This map is copied into the SLF4J MDC when the with-context or with-context-kv macros are used. You are free to take control of it for MDC-related purposes as it doesn’t directly affect Pedestal’s logging implementation.

      This map also includes all options that were passed into with-context.

      -

      active-span

      (active-span)

      Return the current active span; Returns nil if there isn’t an active span.

      -

      add-span-baggage!

      (add-span-baggage! span m)(add-span-baggage! span k v)(add-span-baggage! span bag-k bag-v & kvs)

      counter

      (counter metric-name delta)(counter recorder metric-name delta)

      debug

      macro

      (debug & keyvals)

      default-recorder

      This is the default recorder of all metrics. This value is configured by setting the JVM Property ‘io.pedestal.log.defaultMetricsRecorder’ or the environment variable ‘PEDESTAL_METRICS_RECORDER’. The value of the setting should be a namespaced symbol that resolves to a 0-arity function or nil. That function should return something that satisfies the MetricRecorder protocol. If no function is found, metrics will be reported only to JMX via a DropWizard MetricRegistry.

      -

      default-tracer

      This is the default Tracer, registered as the OpenTracing’s GlobalTracer. This value is configured by setting the JVM Property ‘io.pedestal.log.defaultTracer’ or the environment variable ‘PEDESTAL_TRACER’. The value of the setting should be a namespaced symbol that resolves to a 0-arity function or nil. That function should return something that satisfies the TracerOrigin protocol. If no function is found, the GlobalTracer will default to the NoopTracer and GlobalTracer/isRegistered will be false.

      -

      error

      macro

      (error & keyvals)

      finish-span

      (finish-span span)

      Given a span, finish the span and return it.

      -

      format-name

      (format-name n)

      Format a given metric name, regardless of type, into a string

      -

      gauge

      (gauge metric-name value-fn)(gauge recorder metric-name value-fn)

      histogram

      (histogram metric-name value)(histogram recorder metric-name value)

      info

      macro

      (info & keyvals)

      jmx-reporter

      (jmx-reporter registry)

      log

      (log keyvals)(log keyvals default-level)

      This function provides basic/core logging functionality as a function. You may prefer to use this if you need custom logging functionality beyond what is offered by the standard Pedestal logging macros (which in turn just call the protocols).

      +

      active-span

      (active-span)

      Return the current active span; Returns nil if there isn’t an active span.

      +

      add-span-baggage!

      (add-span-baggage! span m)(add-span-baggage! span k v)(add-span-baggage! span bag-k bag-v & kvs)

      counter

      (counter metric-name delta)(counter recorder metric-name delta)

      debug

      macro

      (debug & keyvals)

      default-recorder

      This is the default recorder of all metrics. This value is configured by setting the JVM Property ‘io.pedestal.log.defaultMetricsRecorder’ or the environment variable ‘PEDESTAL_METRICS_RECORDER’. The value of the setting should be a namespaced symbol that resolves to a 0-arity function or nil. That function should return something that satisfies the MetricRecorder protocol. If no function is found, metrics will be reported only to JMX via a DropWizard MetricRegistry.

      +

      default-tracer

      This is the default Tracer, registered as the OpenTracing’s GlobalTracer. This value is configured by setting the JVM Property ‘io.pedestal.log.defaultTracer’ or the environment variable ‘PEDESTAL_TRACER’. The value of the setting should be a namespaced symbol that resolves to a 0-arity function or nil. That function should return something that satisfies the TracerOrigin protocol. If no function is found, the GlobalTracer will default to the NoopTracer and GlobalTracer/isRegistered will be false.

      +

      error

      macro

      (error & keyvals)

      finish-span

      (finish-span span)

      Given a span, finish the span and return it.

      +

      format-name

      (format-name n)

      Format a given metric name, regardless of type, into a string

      +

      gauge

      (gauge metric-name value-fn)(gauge recorder metric-name value-fn)

      histogram

      (histogram metric-name value)(histogram recorder metric-name value)

      info

      macro

      (info & keyvals)

      jmx-reporter

      (jmx-reporter registry)

      log

      (log keyvals)(log keyvals default-level)

      This function provides basic/core logging functionality as a function. You may prefer to use this if you need custom logging functionality beyond what is offered by the standard Pedestal logging macros (which in turn just call the protocols).

      Given a map of logging information, and optionally a default log-level keyword (if not found in the map) – default is :info, Determine the appropriate logger to use, determine if logging-level is enabled, format the logging message, And return the result of calling the appropriate logging function, dispatched to the logging protocols.

      Special keys within the log message: :level – A keyword, the log level to use for this message, defaults to default-level :exception – A Throwable/Exception to log :io.pedestal.log/logger – The logger to use for this message, defaults to the override-logger or the SLF4J logger :io.pedestal.log/logger-name – A String, the loggerName to use if SLF4J logger is used, defaults to *ns* which may be ‘clojure.core’ depending on execution, :io.pedestal.log/formatter – A single-arg function that when given a map, returns a String for logging, defaults to pr-str

      If using this function within a macro, you’re encouraged to merge all ‘meta’ information (like line info) into the log message map. For example:

      @@ -16,63 +16,63 @@ log-map (assoc log-map ::logger-name (name (ns-name *ns*)))) final-log-map (assoc named-log-map :line (:line (meta &form)))">named-log-map (if (::logger-name log-map) log-map (assoc log-map ::logger-name (name (ns-name ns)))) final-log-map (assoc named-log-map :line (:line (meta &form))) `(log ~final-log-map :info)))

      -

      log-level-dispatch

      log-reporter

      (log-reporter registry)

      log-span

      (log-span span x)(log-span span k v)(log-span span k v & kvs)

      Log to a given span, and return the span.

      +

      log-level-dispatch

      log-reporter

      (log-reporter registry)

      log-span

      (log-span span x)(log-span span k v)(log-span span k v & kvs)

      Log to a given span, and return the span.

      If the log message is a string, the message is logged as an info ‘message’. If the log message is a keyword, the message is logged as an ‘event’, without a message. If the log message is a Throwable, the message is logged as an ‘error’, with info extracted from the Throwable If the log message is a map, the map is logged as a series of fields/values.

      This also supports the same logging style as io.pedestal.log – with any number of log keys and values.

      You are encouraged to follow the OpenTracing semantics

      -

      LoggerSource

      protocol

      members

      -debug

      (-debug t body)(-debug t body throwable)

      Log a DEBUG message, and optionally handle a special Throwable/Exception related to the message. The body may be any of Clojure’s literal data types, but a map or string is encouraged.

      +

      LoggerSource

      protocol

      members

      -debug

      (-debug t body)(-debug t body throwable)

      Log a DEBUG message, and optionally handle a special Throwable/Exception related to the message. The body may be any of Clojure’s literal data types, but a map or string is encouraged.

      -error

      (-error t body)(-error t body throwable)

      Log an ERROR message, and optionally handle a special Throwable/Exception related to the message. The body may be any of Clojure’s literal data types, but a map or string is encouraged.

      -info

      (-info t body)(-info t body throwable)

      Log an INFO message, and optionally handle a special Throwable/Exception related to the message. The body may be any of Clojure’s literal data types, but a map or string is encouraged.

      -level-enabled?

      (-level-enabled? t level-key)

      Given the log level as a keyword, return a boolean if that log level is currently enabled.

      -trace

      (-trace t body)(-trace t body throwable)

      Log a TRACE message, and optionally handle a special Throwable/Exception related to the message. The body may be any of Clojure’s literal data types, but a map or string is encouraged.

      -warn

      (-warn t body)(-warn t body throwable)

      Log a WARN message, and optionally handle a special Throwable/Exception related to the message. The body may be any of Clojure’s literal data types, but a map or string is encouraged.

      -

      LoggingMDC

      protocol

      members

      -clear-mdc

      (-clear-mdc t)

      Remove all entries within the MDC and return the MDC instance.

      +

      LoggingMDC

      protocol

      members

      -clear-mdc

      (-clear-mdc t)

      Remove all entries within the MDC and return the MDC instance.

      -get-mdc

      (-get-mdc t k)(-get-mdc t k not-found)

      Given a String key and optionally a not-found value (which should be a String), lookup the key in the MDC and return the value (A String); Returns nil if the key isn’t present, or not-found if value was supplied.

      -put-mdc

      (-put-mdc t k v)

      Given a String key and a String value, Add an entry to the MDC, and return the MDC instance.

      If k is nil, the original MDC is returned.

      -remove-mdc

      (-remove-mdc t k)

      Given a String key, remove the key-value entry in the MDC if the key is present And return the MDC instance.

      -set-mdc

      (-set-mdc t m)

      Given a map (of String keys and String values), Copy all key-values from the map to the MDC and return the MDC instance.

      -

      make-logger

      (make-logger logger-name)

      Returns a logger which satisfies the LoggerSource protocol.

      -

      maybe-init-java-util-log

      (maybe-init-java-util-log)

      Invoke this once when starting your application to redirect all java.util.logging log messages to SLF4J. The current project’s dependencies must include org.slf4j/jul-to-slf4j.

      -

      mdc-context-key

      meter

      (meter metric-name)(meter metric-name n-events)(meter recorder metric-name n-events)

      metric-registry

      (metric-registry & reporter-init-fns)

      Create a metric-registry. Optionally pass in single-arg functions, which when passed a registry, create, start, and return a reporter.

      -

      MetricRecorder

      protocol

      members

      -counter

      (-counter t metric-name delta)

      Update a single Numeric/Long metric by the delta amount

      +

      make-logger

      (make-logger logger-name)

      Returns a logger which satisfies the LoggerSource protocol.

      +

      maybe-init-java-util-log

      (maybe-init-java-util-log)

      Invoke this once when starting your application to redirect all java.util.logging log messages to SLF4J. The current project’s dependencies must include org.slf4j/jul-to-slf4j.

      +

      mdc-context-key

      meter

      (meter metric-name)(meter metric-name n-events)(meter recorder metric-name n-events)

      metric-registry

      (metric-registry & reporter-init-fns)

      Create a metric-registry. Optionally pass in single-arg functions, which when passed a registry, create, start, and return a reporter.

      +

      MetricRecorder

      protocol

      members

      -counter

      (-counter t metric-name delta)

      Update a single Numeric/Long metric by the delta amount

      -gauge

      (-gauge t metric-name value-fn)

      Register a single metric value, returned by a 0-arg function; This function will be called everytime the Guage value is requested.

      -histogram

      (-histogram t metric-name value)

      Measure a distribution of Long values

      -meter

      (-meter t metric-name n-events)

      Measure the rate of a ticking metric - a meter.

      -

      override-logger

      span

      (span operation-name)(span operation-name parent-span)(span operation-name parent-span opts)

      Given an operation name, and optionally a parent Span, and optionally a map of options return a new Span with the operation name set, started, and active.

      +

      override-logger

      span

      (span operation-name)(span operation-name parent-span)(span operation-name parent-span opts)

      Given an operation name, and optionally a parent Span, and optionally a map of options return a new Span with the operation name set, started, and active.

      Options are Tracer/TraceOrigin specific but all platforms support a minimum of: :initial-tags - a map of initial tags for the span

      If the parent is not set, the span has no parent (ie: current active spans are ignored). If the parent is nil, the behavior is Tracer/TraceOrigin specific – by default, the span has no parent.

      -

      span-baggage

      (span-baggage span)(span-baggage span k)(span-baggage span k not-found)

      span-log-error-kind

      span-log-error-obj

      span-log-event

      span-log-msg

      span-log-stack

      spy

      macro

      (spy expr)

      Logs expr and its value at DEBUG level, returns value.

      -

      tag-span

      (tag-span span m)(tag-span span k v)(tag-span span tag-k tag-v & kvs)

      Tag a given span.

      +

      span-baggage

      (span-baggage span)(span-baggage span k)(span-baggage span k not-found)

      span-log-error-kind

      span-log-error-obj

      span-log-event

      span-log-msg

      span-log-stack

      spy

      macro

      (spy expr)

      Logs expr and its value at DEBUG level, returns value.

      +

      tag-span

      (tag-span span m)(tag-span span k v)(tag-span span tag-k tag-v & kvs)

      Tag a given span.

      Tags can be expressed as: - a single tag key and tag value - a sequence of tag-key tag-values. - a map of tag-keys -> tag-values

      -

      trace

      macro

      (trace & keyvals)

      TraceOrigin

      protocol

      members

      -activate-span

      (-activate-span t span)

      Given a Tracer/TraceOrigin and a span, activate the span and return the newly activated span.

      +

      trace

      macro

      (trace & keyvals)

      TraceOrigin

      protocol

      members

      -activate-span

      (-activate-span t span)

      Given a Tracer/TraceOrigin and a span, activate the span and return the newly activated span.

      -active-span

      (-active-span t)

      Given a Tracer/TraceOrigin, return the current, active Span or nil if there isn’t an active span

      -register

      (-register t)

      Given a Tracer/TraceOrigin perform whatver steps are necessary to register that Tracer/TraceOrigin to support the creation of spans, and return the Tracer/TraceOrigin.

      It should not be necessary to make this call in application code. This call is only used when bootstrapping Pedestal’s default-tracer

      -span

      (-span t operation-name)(-span t operation-name parent)(-span t operation-name parent opts)

      Given a Tracer/TraceOrigin, an operation name, and optionally a parent Span, and a map of additional options return a new Span with the operation name set. If the parent is not set, the span has no parent (ie: current active spans are ignored).

      Additional options are platform specific, but all platforms should support the following: :initial-tags - a map of initial tags for the span

      ** The span may be started on creation but should not be activated ** This should be left to application-specific span builders.

      -

      TraceSpan

      protocol

      members

      -finish-span

      (-finish-span t)(-finish-span t micros)

      Given a span, finish/complete and record the span optionally setting an explicit end timestamp in microseconds, and return the span. If no timestamp is specified, now/nanoTime is used, adjusted for microseconds. Multiple calls to -finishSpan should be noops

      +

      TraceSpan

      protocol

      members

      -finish-span

      (-finish-span t)(-finish-span t micros)

      Given a span, finish/complete and record the span optionally setting an explicit end timestamp in microseconds, and return the span. If no timestamp is specified, now/nanoTime is used, adjusted for microseconds. Multiple calls to -finishSpan should be noops

      -set-operation-name

      (-set-operation-name t operation-name)

      Given a span and the operation name (String), set the logical operation this span represents, and return the Span.

      -tag-span

      (-tag-span t tag-key tag-value)

      Given a span, a tag key (String), and a tag value (String), Set the tag key-value pair on the span for recording, and returns the Span.

      Some trace systems support numeric, object, boolean and other values. The protocol encourages at a minimum String keys and values, but extensions of the protocols are free to make platform-specific type/arg optimizations. Some Trace platforms have semantics around tag keys/values, eg. https://github.com/opentracing/specification/blob/master/semantic_conventions.md

      -

      TraceSpanBaggage

      protocol

      members

      -get-baggage

      (-get-baggage t k)(-get-baggage t k not-found)

      Given a span, a baggage key, and optionally a not-found value, return the baggage value (String) for the corresponding key (if present). If the key isn’t present, return not-found or nil.

      +

      TraceSpanBaggage

      protocol

      members

      -get-baggage

      (-get-baggage t k)(-get-baggage t k not-found)

      Given a span, a baggage key, and optionally a not-found value, return the baggage value (String) for the corresponding key (if present). If the key isn’t present, return not-found or nil.

      -get-baggage-map

      (-get-baggage-map t)

      Given a span, return a Map of all baggage items.

      -set-baggage

      (-set-baggage t k v)

      Given a span, a baggage key (String) and baggage value (String), add the key and value to the Span (and any additional context holding the span). and return the Span

      Adding baggage allows keys/values to be smuggled across span boundaries, creating a powerful distributed context. Baggage is only propagated to children of the span.

      -

      TraceSpanLog

      protocol

      members

      -error-span

      (-error-span t throwable)(-error-span t throwable micros)

      Given a span, a Throwable, and optionally an explicit timestamp in microseconds, Record the error to the span as an ‘error’, attaching Message, Error.Kind and Error.Object to the span, and return the span.

      +

      TraceSpanLog

      protocol

      members

      -error-span

      (-error-span t throwable)(-error-span t throwable micros)

      Given a span, a Throwable, and optionally an explicit timestamp in microseconds, Record the error to the span as an ‘error’, attaching Message, Error.Kind and Error.Object to the span, and return the span.

      -log-span

      (-log-span t msg)(-log-span t msg micros)

      Given a span, a log message/event, and optionally an explicit timestamp in microseconds, Record the message to the span, and return the span.

      If the message is a keyword, the message is recorded as an ‘event’, otherwise message is coerced into a string and recorded as a ‘message’.

      If no timestamp is specified, now/nanoTime is used, adjusted for microseconds.

      -

      TraceSpanLogMap

      protocol

      members

      -log-span-map

      (-log-span-map t msg-map)(-log-span-map t msg-map micros)

      Given a span, a map of fields, and optionally an explicit timestamp in microseconds, Record the event to the span, and return the span.

      +

      TraceSpanLogMap

      protocol

      members

      -log-span-map

      (-log-span-map t msg-map)(-log-span-map t msg-map micros)

      Given a span, a map of fields, and optionally an explicit timestamp in microseconds, Record the event to the span, and return the span.

      Semantic log fields can be found at: https://github.com/opentracing/specification/blob/master/semantic_conventions.md#log-fields-table

      Some Trace Recorders don’t fully support round-tripping maps – use carefully. Some Trace platforms have semantics around key/values, eg. https://github.com/opentracing/specification/blob/master/semantic_conventions.md

      -

      warn

      macro

      (warn & keyvals)

      with-context

      macro

      (with-context ctx-map & body)

      Given a map of keys/values/options and a body, Set the map into the MDC via the mdc-context binding. The MDC used defaults to SLF4J MDC unless the :io.pedestal.log/mdc option is specified (see Options). All options from the map are removed when setting the MDC.

      +

      warn

      macro

      (warn & keyvals)

      with-context

      macro

      (with-context ctx-map & body)

      Given a map of keys/values/options and a body, Set the map into the MDC via the mdc-context binding. The MDC used defaults to SLF4J MDC unless the :io.pedestal.log/mdc option is specified (see Options). All options from the map are removed when setting the MDC.

      By default, the map is formatted into a string value and stored under the ‘io.pedestal’ key, via io.pedestal.log/mdc-context-key

      Caveats: SLF4J MDC, only maintains thread-local bindings, users are encouraged to use app-specific MDC implementations when needed.

      Since SLF4J MDC manages data on a per-thread basis, false information may be contained in the MDC if threads are recycled. Refer to the slf4j docs for more information.

      Options: :io.pedestal.log/formatter - a single-arg function that when given the map, returns a formatted string Defaults to pr-str :io.pedestal.log/mdc - An object that satisfies the LoggingMDC protocol Defaults to the SLF4J MDC.

      Note: If you mix with-context with the more basic with-context-kv, you may see undesired keys/values in the log

      -

      with-context-kv

      macro

      (with-context-kv k v & body)

      Given a key, value, and body, associates the key-value pair into the mdc-context only for the scope/execution of body, and sets the mdc-context into the SLF4J MDC under the ‘io.pedestal’ key (via io.pedestal.log/mdc-context-key) using pr-str on the map for the MDC value.

      +

      with-context-kv

      macro

      (with-context-kv k v & body)

      Given a key, value, and body, associates the key-value pair into the mdc-context only for the scope/execution of body, and sets the mdc-context into the SLF4J MDC under the ‘io.pedestal’ key (via io.pedestal.log/mdc-context-key) using pr-str on the map for the MDC value.

      Note: No keys are are dissoc’d from mdc-context with this simplified version. If you mix with-context and with-context-kv, you may see undesired keys/values in the log

      -
      \ No newline at end of file +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.service-tools.dev.html b/api/0.6/io.pedestal.service-tools.dev.html index afe124d..fd82666 100644 --- a/api/0.6/io.pedestal.service-tools.dev.html +++ b/api/0.6/io.pedestal.service-tools.dev.html @@ -1,5 +1,5 @@ -io.pedestal.service-tools.dev documentation

      io.pedestal.service-tools.dev

      watch

      (watch)(watch src-paths)

      Watches a list of directories for file changes, reloading them as necessary.

      -

      watch-routes-fn

      (watch-routes-fn routes-var)(watch-routes-fn routes-var src-paths)

      Given a routes var and optionally a vector of paths to watch, return a function suitable for a service’s :routes entry, that reloads routes on source file changes.

      -
      \ No newline at end of file +io.pedestal.service-tools.dev documentation

      io.pedestal.service-tools.dev

      watch

      (watch)(watch src-paths)

      Watches a list of directories for file changes, reloading them as necessary.

      +

      watch-routes-fn

      (watch-routes-fn routes-var)(watch-routes-fn routes-var src-paths)

      Given a routes var and optionally a vector of paths to watch, return a function suitable for a service’s :routes entry, that reloads routes on source file changes.

      +
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.service-tools.war.html b/api/0.6/io.pedestal.service-tools.war.html index a8e971e..f0354fa 100644 --- a/api/0.6/io.pedestal.service-tools.war.html +++ b/api/0.6/io.pedestal.service-tools.war.html @@ -1,7 +1,7 @@ -io.pedestal.service-tools.war documentation

      io.pedestal.service-tools.war

      app-server-ns

      (app-server-ns opts)

      default-pedestal-manifest

      dir-entry

      (dir-entry war opts war-root dir-path)

      file-entry

      (file-entry war opts war-path file)

      in-war-path

      (in-war-path war-path root file)

      make-manifest

      (make-manifest)(make-manifest manifest-map)

      make-web-xml

      (make-web-xml opts)

      Given a map of options, return a string of XML - the web.xml for the service/WAR.

      +io.pedestal.service-tools.war documentation

      io.pedestal.service-tools.war

      app-server-ns

      (app-server-ns opts)

      default-pedestal-manifest

      dir-entry

      (dir-entry war opts war-root dir-path)

      file-entry

      (file-entry war opts war-path file)

      in-war-path

      (in-war-path war-path root file)

      make-manifest

      (make-manifest)(make-manifest manifest-map)

      make-web-xml

      (make-web-xml opts)

      Given a map of options, return a string of XML - the web.xml for the service/WAR.

      Available options and default values :web-xml - a slurpable path, which is returned as the web.xml string. NOTE: All other options will be ignored. :servlet-description “Pedestal HTTP Servlet” :servlet-display-name - defaults to :servlet-description :servlet-name “PedestalServlet” :servlet-class “io.pedestal.servlet.ClojureVarServlet” :url-patterns “/*” :server-ns - Requires there to be fns servlet-init servlet-service servlet-destroy

      -

      manifest-str

      (manifest-str manifest-map)

      Given a map of manifest keys/values, Return a string of the single Manifest contents

      -

      skip-file?

      (skip-file? file war-path exclusions)

      string-input-stream

      (string-input-stream s)

      war

      (war opts)(war opts war-name-str)

      Create a PedestalService.war file. Optionally pass in a war file name. Various options are supported via the opt map :target-path - where the war will be saved; defaults to “.” :manifest - a map of override/additional Manifest entries; keys and values are both strings :compile-path - an optional, additional path of compiled resources to include :resource-paths - a vector of all additional sources, resources, war-resources to include :war-exclusions - a vector of regex strings; patterns of file names to exclude in the war

      -

      war-file-path

      (war-file-path target-dir war-name)

      write-entry

      (write-entry war war-path entry)

      write-war

      (write-war opts war-path & postprocess-fns)
      \ No newline at end of file +

      manifest-str

      (manifest-str manifest-map)

      Given a map of manifest keys/values, Return a string of the single Manifest contents

      +

      skip-file?

      (skip-file? file war-path exclusions)

      string-input-stream

      (string-input-stream s)

      war

      (war opts)(war opts war-name-str)

      Create a PedestalService.war file. Optionally pass in a war file name. Various options are supported via the opt map :target-path - where the war will be saved; defaults to “.” :manifest - a map of override/additional Manifest entries; keys and values are both strings :compile-path - an optional, additional path of compiled resources to include :resource-paths - a vector of all additional sources, resources, war-resources to include :war-exclusions - a vector of regex strings; patterns of file names to exclude in the war

      +

      war-file-path

      (war-file-path target-dir war-name)

      write-entry

      (write-entry war war-path entry)

      write-war

      (write-war opts war-path & postprocess-fns)
      \ No newline at end of file diff --git a/api/0.6/io.pedestal.test.html b/api/0.6/io.pedestal.test.html index e798422..afdefcf 100644 --- a/api/0.6/io.pedestal.test.html +++ b/api/0.6/io.pedestal.test.html @@ -1,10 +1,10 @@ -io.pedestal.test documentation

      io.pedestal.test

      Pedestal testing utilities to simplify working with pedestal apps.

      -

      parse-url

      (parse-url url)

      raw-response-for

      (raw-response-for interceptor-service-fn verb url & options)

      Return a ring response map for an HTTP request of type verb against url url, when applied to interceptor-service-fn. Useful for integration testing pedestal applications and getting all relevant middlewares invoked, including ones which integrate with the servlet infrastructure. The response body will be returned as a ByteArrayOutputStream. Options:

      +io.pedestal.test documentation

      io.pedestal.test

      Pedestal testing utilities to simplify working with pedestal apps.

      +

      parse-url

      (parse-url url)

      raw-response-for

      (raw-response-for interceptor-service-fn verb url & options)

      Return a ring response map for an HTTP request of type verb against url url, when applied to interceptor-service-fn. Useful for integration testing pedestal applications and getting all relevant middlewares invoked, including ones which integrate with the servlet infrastructure. The response body will be returned as a ByteArrayOutputStream. Options:

      :body : An optional string that is the request body. :headers : An optional map that are the headers

      -

      response-for

      (response-for interceptor-service-fn verb url & options)

      Return a ring response map for an HTTP request of type verb against url url, when applied to interceptor-service-fn. Useful for integration testing pedestal applications and getting all relevant middlewares invoked, including ones which integrate with the servlet infrastructure. The response body will be converted to a UTF-8 string. Options:

      +

      response-for

      (response-for interceptor-service-fn verb url & options)

      Return a ring response map for an HTTP request of type verb against url url, when applied to interceptor-service-fn. Useful for integration testing pedestal applications and getting all relevant middlewares invoked, including ones which integrate with the servlet infrastructure. The response body will be converted to a UTF-8 string. Options:

      :body : An optional string that is the request body. :headers : An optional map that are the headers

      -

      servlet-response-for

      (servlet-response-for interceptor-service-fn verb url & args)

      Return a ring response map for an HTTP request of type verb against url url, when applied to interceptor-service-fn. Useful for integration testing pedestal applications and getting all relevant middlewares invoked, including ones which integrate with the servlet infrastructure.

      -

      test-servlet-response

      (test-servlet-response)

      Returns a mock servlet response with a ServletOutputStream over a ByteArrayOutputStream. Captures the ByteArrayOutputStream in metadata. All headers set will swap a headers map held in an atom, also held in metadata.

      -

      test-servlet-response-body

      (test-servlet-response-body test-servlet-response)

      test-servlet-response-headers

      (test-servlet-response-headers test-servlet-response)

      test-servlet-response-status

      (test-servlet-response-status test-servlet-response)

      TestRequestBody

      protocol

      members

      ->servlet-input-stream

      (->servlet-input-stream input)
      \ No newline at end of file +

      servlet-response-for

      (servlet-response-for interceptor-service-fn verb url & args)

      Return a ring response map for an HTTP request of type verb against url url, when applied to interceptor-service-fn. Useful for integration testing pedestal applications and getting all relevant middlewares invoked, including ones which integrate with the servlet infrastructure.

      +

      test-servlet-response

      (test-servlet-response)

      Returns a mock servlet response with a ServletOutputStream over a ByteArrayOutputStream. Captures the ByteArrayOutputStream in metadata. All headers set will swap a headers map held in an atom, also held in metadata.

      +

      test-servlet-response-body

      (test-servlet-response-body test-servlet-response)

      test-servlet-response-headers

      (test-servlet-response-headers test-servlet-response)

      test-servlet-response-status

      (test-servlet-response-status test-servlet-response)

      TestRequestBody

      protocol

      members

      ->servlet-input-stream

      (->servlet-input-stream input)
      \ No newline at end of file