Eric Wilhelm > dotReader > anno_server

Download:
dotReader-v0.11.2.tar.gz

Annotate this POD

CPAN RT

New  2
Open  1
View/Report Bugs
Source  

NAME ^

anno_server - simple dotReader annotation server

USAGE ^

This is really only for testing, so to facilitate that it has a mode where it will start the server, run a system command, and then shutdown. In this mode, the pattern qr{\bADDR/} will be replaced with the server address (e.g. http://localhost:8088/.)

  ./util/anno_server curl ADDR/TEST.yml

Without arguments, it will just start the server.

new

  my $server = dtRdr::anno_server->new();

handle_request

  $server->handle_request($cgi);

dispatch

  $self->dispatch($path, $cgi);

CGI abstraction/workaround ^

url_param

  $self->url_param($cgi);

read_client_data

Deal with CGI's failed helpiness.

  my ($fmt, $string) = $self->read_client_data($cgi);

REST API ^

GET_manifest

  $self->GET_manifest(\@path_rem, $cgi);

GET_annotation

  $self->GET_annotation($path, %args);

POST_annotation

Creates a new annotation. A POST against an existing path/id is an error.

  POST $ADDR/annotation/

  $server->POST_annotation($path, %args);

PUT_annotation

Updates an existing annotation. The create-this PUT is not supported.

  PUT $ADDR/annotation/$id.$fmt?rev=$expected_rev

  $server->PUT_annotation($path, %args);

DELETE_annotation

Deletes an existing annotation.

  PUT $ADDR/annotation/$id.$fmt?rev=$expected_rev

  $server->DELETE_annotation($path, %args);

Data Formats ^

formatter

  $self->formatter($format);

unformatter

  $self->unformatter($format);

Transform and Validation ^

Abstractions for local/wire representations. These might help if we go with a dtRdr::Annotation::IOBlob object or something. Otherwise, I think we're just normalizing data.

keys

  id
  title
  start
  end
  context
  selected
  mod_time
  create_time
  revision
  public
    owner
    rev - output only (if even)
  content - notes only

_kmap

  $data = $self->_kmap($data);

anno_in

  $data = $self->anno_in($data);

anno_out

  $data = $self->anno_out($data);

output

Overrides

  $self->output(...);

Data Handling ^

manifest

  my %items = $server->manifest(%select);

Authentication Customization ^

authenticate

Internalizes the authentication type.

  $self->authenticate;

get_password

  $self->get_password($user);
syntax highlighting: