io.keen.client

scala

package scala

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. scala
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AccessLevel extends AnyRef

    A Client can mix in one or more AccessLevels to enable API calls for read, write, and master operations.

    A Client can mix in one or more AccessLevels to enable API calls for read, write, and master operations.

    The intention of this approach is to make it a compile-time error to call an API method requiring a write key if you haven't statically declared that the client should be a writer, for example.

    This also means that runtime checks for presence of optional settings (keys for access levels you don't need) are pushed up to the time of client instantiation: if you've forgotten to provide a write key in your deployment environment, we won't wait to throw a runtime exception at the point that you make a write call, perhaps long after your app has started and you've gone home for the weekend.

    Attributes
    protected
    Example:
    1. Client with read and write access:

      val keen = new Client with Reader with Writer
    See also

    https://keen.io/docs/security/

  2. trait AttemptCountingEventStore extends EventStore

  3. class Client extends HttpAdapterComponent with Logging

  4. class ClientThreadFactory extends ThreadFactory

  5. trait EventStore extends AnyRef

    Abstraction for implementing custom event stores.

  6. trait HttpAdapter extends AnyRef

  7. trait HttpAdapterComponent extends AnyRef

  8. class HttpAdapterDispatch extends HttpAdapter

    Extension of HttpAdapter that uses Dispatch rather than Spray+akka Helps avoid dependency conflicts in use cases such as Spark

  9. class HttpAdapterSpray extends HttpAdapter with Logging

  10. trait Master extends Reader with Writer

    A Client mixing in Master can make Keen IO API calls requiring a master key, such as deleting data, creating saved queries, and performing administrative functions.

    A Client mixing in Master can make Keen IO API calls requiring a master key, such as deleting data, creating saved queries, and performing administrative functions.

    A Master client can also perform all Reader and Writer API calls and does not require additional keys configured for these. However, this should not be considered a shortcut! Please keep your master key as secure as possible by not deploying it where it isn't strictly needed.

    A master key must be configured in the Client's Settings or the masterKey field must otherwise be set e.g. with an anonymous class override.

    Example:
    1. Initializing a Client with master access

      val keen = new Client with Master {
      override val masterKey = "myMasterKey"
      }
    Exceptions thrown
    MissingCredential

    if a master key is not configured.

    See also

    https://keen.io/docs/security/

  11. case class MissingCredential(cause: String) extends RuntimeException with Product with Serializable

  12. class RamEventStore extends AttemptCountingEventStore

    In-memory queue for Client.

  13. trait Reader extends AccessLevel

    A Client mixing in Reader can make Keen IO API calls requiring a read key.

    A Client mixing in Reader can make Keen IO API calls requiring a read key.

    A read key must be configured in the Client's Settings or the readKey field must otherwise be set e.g. with an anonymous class override.

    Example:
    1. Initializing a Client with read access

      val keen = new Client with Reader {
      override val readKey = "myReadKey"
      }
    Exceptions thrown
    MissingCredential

    if a read key is not configured.

    See also

    https://keen.io/docs/security/

  14. case class Response(statusCode: Int, body: String) extends Product with Serializable

  15. implicit final class RichConfig extends AnyVal

    Enrichment for Typesafe Config to wrap some optional settings in Option.

  16. class Settings extends AnyRef

    Configuration settings for Keen Client.

    Configuration settings for Keen Client.

    At construction the given Config parsed from config files, properties, etc. is validated to ensure that all required keys are present.

    Exceptions thrown
    ConfigException.Missing

    if required configuration keys are not provided.

    ConfigException.WrongType

    if a given configuration value is not of the required or sensibly coercible type.

    To do

    A helpful toString could be useful here, but should maybe sanitize keys from accidental logging through exceptions reports, etc.?

  17. trait Writer extends AccessLevel

    A Client mixing in Writer can make Keen IO API calls requiring a write key.

    A Client mixing in Writer can make Keen IO API calls requiring a write key.

    A write key must be configured in the Client's Settings or the writeKey field must otherwise be set e.g. with an anonymous class override.

    Example:
    1. Initializing a Client with write access

      val keen = new Client with Writer {
      override val writeKey = "myWriteKey"
      }
    Exceptions thrown
    MissingCredential

    if a write key is not configured.

    See also

    https://keen.io/docs/security/

Inherited from AnyRef

Inherited from Any

Ungrouped