On Feb 24, 2014, at 6:42 AM, Raj Sharma <raj.sha...@makemytrip.com> wrote:
> Hi, > > I am a software developer in MakeMyTrip.com. I am creating a plugin in Apache > Traffic server 3.2.0. Why 3.2.0? 4.1.2 is the latest stable, and closest to the upcoming 4.2.0 release. > For that below are the steps I have been followed- > > • Created a hello-world.c file > #include <stdio.h> > #include <ts/ts.h> > int > check_ts_version() > { > > const char *ts_version = TSTrafficServerVersionGet(); > int result = 0; > > if (ts_version) { > int major_ts_version = 0; > int minor_ts_version = 0; > int patch_ts_version = 0; > > if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, > &minor_ts_version, &patch_ts_version) != 3) { > return 0; > } > > /* We need at least Traffic Server 2.0 */ > > if (major_ts_version >= 2) { > result = 1; > } > > } > > return result; > } > > void > TSPluginInit (int argc, const char *argv[]) > { > > TSPluginRegistrationInfo info; > > info.plugin_name = "hello-world"; > info.vendor_name = "MyCompany"; > info.support_email = "ts-api-supp...@mycompany.com"; > > if (!TSPluginRegister (TS_SDK_VERSION_2_0 , &info)) { TSPluginRegister returns a TS_ERROR when it fails, which has the value -1. You should register against TS_SDK_VERSION_3_0. > TSError ("Plugin registration failed. \n"); > } > > if (!check_ts_version()) { > TSError ("Plugin requires Traffic Server 2.0 or later\n"); > return; > } > > TSDebug ("debug-hello", "Hello World!\n"); > } If you enable diagnostic tags, and set the "debug-hello" tag, then you ought to see this message printed in the diagnostics log. https://trafficserver.readthedocs.org/en/latest/reference/configuration/records.config.en.html#diagnostic-logging-configuration For a quick test, you can do: sudo $PREFIX/bin/traffic_server -T debug-hello > • Compiled it with “tsxs -o hello-world.so -c hello-world.c” > • Installed with “sudo tsxs -o hello-world.so -i” > • Then updated my plugin.config file by just adding one line > # a simple plugin.config for hello-world.so > /usr/local/libexec/trafficserver/hello-world.so > /usr/local/etc/trafficserver/hello-world.config > • Then specified the path in records.config file like- > CONFIG proxy.config.plugin.plugin_dir STRING /usr/local/libexec/trafficserver > > After these configuration I restarted my traffic server but I am unable to > use this plugin. Basically I need such plugin which can categories the HTTP > header user agents and I think it can be resolved by using header_filter > plugin. > Can you tell me the complete process for creating new plugins or use existing > plugins, also tell me that how can I check whether my plugin is working on > not. > > Kindly revert me asap. > > > Thanks and Regards, > Raj Sharma | Software Developer - Technology Development > +918010833979 +918010833979 | MakeMyTrip.com, 243 SP Infocity, Udyog Vihar > Phase 1, Gurgaon, Haryana - 122 016, India > What's New?: Destination Videos - Explore. Travel. Discover these > inspiring destinations. > > > Office Map > > Facebook > > Twitter > > YouTube > > > The contents of this email, including the attachments, are PRIVILEGED AND > CONFIDENTIAL to the intended recipient at the email address to which it has > been addressed. If you receive it in error, please notify the sender > immediately by return email and then permanently delete it from your system. > The unauthorized use, distribution, copying or alteration of this email, > including the attachments, is strictly forbidden. Please note that neither > MakeMyTrip nor the sender accepts any responsibility for viruses and it is > your responsibility to scan the email and attachments (if any). No contracts > may be concluded on behalf of MakeMyTrip by means of email communications. >