10 releases

Uses old Rust 2015

0.5.1 Mar 3, 2017
0.5.0 Sep 28, 2016
0.4.3 Apr 22, 2016
0.4.1 Mar 22, 2016
0.1.1 Jan 11, 2016

#3 in #groonga

25 downloads per month

Custom license

24KB
543 lines

Ruroonga Client

Build Status Build status

Documentation

A tiny Groonga client mainly via HTTP written by Rust language.

GQTP protocol support is experimental for now.

Usage

Add following lines to your Cargo.toml:

[dependencies]
ruroonga_client = "~0.5.0"

and following lines to your crate root:

extern crate ruroonga_client;

use ruroonga_client as groonga;

Using GQTP protocol

If you want to use GQTP module, please specify the dependency as follows for now:

[dependencies.ruroonga_client]
version = "~0.5.0"
features = ["gqtp"]

Example

extern crate ruroonga_client as groonga;

use groonga::builtin::command_query::CommandQuery;


fn main() {
    let mut request = groonga::HTTPRequest::new();
    let mut command = CommandQuery::new("select");
    command.set_argument(vec![("table", "Sites")]);
    let uri_base = groonga::URIBase::new().build();
    let url = groonga::RequestURI::new(uri_base, command.encode()).url();
    println!("url: {}", url);
    let res = request.get(url);
    let result = request.receive(&mut res.unwrap()).unwrap();
    println!("result: {}", result);
}

Testing

Execute cargo test.

Advanced

If you encountered building failure which is dependent openssl library, you should define several environment variables.

For OS X

You can use homebrewed openssl like this:

$ export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
$ export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib

And then, cargo build.

For Windows

In more detail, see: https://github.com/sfackler/rust-openssl#windows

LICENSE

MIT.

Dependencies

~4.5MB
~113K SLoC