NAME

Perinci::Access::Simple::Server::Pipe - (Base) class for creating Riap::Simple server over pipe

VERSION

This document describes version 0.290 of Perinci::Access::Simple::Server::Pipe (from Perl distribution Perinci-Access-Simple-Server), released on 2021-08-01.

SYNOPSIS

In /path/to/your/program:

#!/usr/bin/perl
package MyRiapServer;
use Moo;
extends 'Perinci::Access::Simple::Server::Pipe';

# override some methods ...

package main;
MyRiapServer->run;

Accessing the server via Perinci::Access:

% perl -MPerinci::Access -e'my $pa = Perinci::Access->new;
  my $res = $pa->request(call => "riap+pipe:/path/to/your/prog////Foo/func");

DESCRIPTION

This module is a class for creating Riap::Simple server over pipe. Riap requests will be read from STDIN, and response sent to STDOUT.

By default, the handle() method processes the Riap request using Perinci::Access::Schemeless. You can customize this by overriding the method. The Riap request is in req. Method should set res to the Riap response.

ATTRIBUTES

req => HASH

The current Riap request.

res => HASH

The current Riap response.

METHODS

run()

The main method. Will start a loop of reading request from STDIN and sending response to STDOUT. Riap request will be put to req attribute.

handle()

The method that will be called by run() to set res attribute. By default it will pass the request to Perinci::Access::Schemeless. You can override this method to provide custom behavior.

send_response()

The method that sends res to client (STDOUT).

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Perinci-Access-Simple-Server.

SOURCE

Source repository is at https://github.com/perlancar/perl-Perinci-Access-Simple-Server.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Perinci-Access-Simple-Server

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

SEE ALSO

Riap::Simple, Riap, Rinci

Perinci::Access::Simple::Server::Socket.

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021, 2020, 2017, 2015, 2014, 2013, 2012 by perlancar@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.