tdt/negotiators

A package to do content and language negotiation.

v1.0.2 2013-02-20 15:41 UTC

This package is not auto-updated.

Last update: 2024-12-21 16:15:34 UTC


README

Build Status

Content and language negotiation written in PHP: GET parameters will overwrite accept header. Support for logging (monolog).

Installation

Install as a requirement using composer:

  1. Add a composer.json in your root

  2. Add a requirement:

{ 
  "require" : { 
     "tdt/negotiators" : "1.0.*" 
  }
}
  1. Install composer: http://getcomposer.com

  2. run "composer install"

  3. include vendor/autoload.php

Usage

$cn = new \tdt\negotiators\ContentNegotiator();
$format = $cn->pop();
$default_format = "json";

// $this->formatAllowed is a function you have to define yourself
while (!$this->formatAllowed($format) && $cn->hasNext()) {
    $format = $cn->pop();
}

if(! $this->formatAllowed($format)){
     throw new Exception("Could not find an appropriate formatter.");
}

// use $format further on

Testing

Using phpunit:

$ phpunit tests