From daf3f33bb17641ca5ae1fbdb1216dcbcf30ffe56 Mon Sep 17 00:00:00 2001 From: erickson Date: Sat, 9 Sep 2006 17:29:13 +0000 Subject: [PATCH] finally implemented opensrf.system.echo[.atomic] - useful for nagios-style testing against all C apps git-svn-id: svn://svn.open-ils.org/ILS/trunk@6035 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- OpenSRF/src/libstack/osrf_application.c | 16 ++++++++++++++++ OpenSRF/src/libstack/osrf_application.h | 1 + 2 files changed, 17 insertions(+) diff --git a/OpenSRF/src/libstack/osrf_application.c b/OpenSRF/src/libstack/osrf_application.c index ad20ef6ee0..eec1f30d80 100644 --- a/OpenSRF/src/libstack/osrf_application.c +++ b/OpenSRF/src/libstack/osrf_application.c @@ -367,6 +367,13 @@ int __osrfAppRunSystemMethod(osrfMethodContext* ctx) { return osrfAppIntrospect(ctx); } + if( !strcmp(ctx->method->name, OSRF_SYSMETHOD_ECHO ) || + !strcmp(ctx->method->name, OSRF_SYSMETHOD_ECHO_ATOMIC )) { + + return osrfAppEcho(ctx); + } + + osrfAppRequestRespondException( ctx->session, ctx->request, "System method implementation not found"); @@ -427,4 +434,13 @@ int osrfAppIntrospectAll( osrfMethodContext* ctx ) { return -1; } +int osrfAppEcho( osrfMethodContext* ctx ) { + OSRF_METHOD_VERIFY_CONTEXT(ctx); + int i; + for( i = 0; i < ctx->params->size; i++ ) { + jsonObject* str = jsonObjectGetIndex(ctx->params,i); + osrfAppRespond(ctx, str); + } + return 1; +} diff --git a/OpenSRF/src/libstack/osrf_application.h b/OpenSRF/src/libstack/osrf_application.h index 0f58e43a48..10f92ed7ae 100644 --- a/OpenSRF/src/libstack/osrf_application.h +++ b/OpenSRF/src/libstack/osrf_application.h @@ -220,6 +220,7 @@ int osrfAppRespondComplete( osrfMethodContext* context, jsonObject* data ); int osrfAppIntrospect( osrfMethodContext* ctx ); int osrfAppIntrospectAll( osrfMethodContext* ctx ); +int osrfAppEcho( osrfMethodContext* ctx ); /** -- 2.43.2