proctor-pipet | #REST | Proctorpipet provides a remote service with a simple REST API

 by   indeedeng Java Updated: 2 years ago - Current License: Apache-2.0

Download this library from

Build Applications

kandi X-RAY | proctor-pipet REVIEW AND RATINGS

Proctor Pipet is a Java web application that provides a simple REST API to Proctor. Through this API, other programming languages only need an HTTP client to use Proctor. This makes it easy to get test groups from a non-JVM web backend language like PHP or Python.

kandi-support
Support

  • proctor-pipet has a low active ecosystem.
  • It has 14 star(s) with 6 fork(s).
  • It had no major release in the last 12 months.
  • It has a neutral sentiment in the developer community.

quality kandi
Quality

  • proctor-pipet has 0 bugs and 0 code smells.

security
Security

  • proctor-pipet has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • proctor-pipet code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.

license
License

  • proctor-pipet is licensed under the Apache-2.0 License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.

build
Reuse

  • proctor-pipet releases are not available. You will need to build from source code and install.
  • Build file is available. You can build the component from source.
  • proctor-pipet saves you 1126 person hours of effort in developing the same functionality from scratch.
  • It has 2546 lines of code, 288 functions and 46 files with 0 % test coverage
  • It has medium code complexity. Code complexity directly impacts maintainability of the code.
Top functions reviewed by kandi - BETA

Coming Soon for all Libraries!

Currently covering the most popular Java, JavaScript and Python libraries. See a SAMPLE HERE.
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.

proctor-pipet Key Features

Proctor-pipet provides a remote service with a simple REST API for determining A/B test group assignments.

proctor-pipet examples and code snippets

  • Getting Started
  • Pipet Configuration
  • API Endpoints
  • GET /groups/identify

Getting Started

proctor.test.matrix.path=/your/path/to/proctor-tests-matrix.json
proctor.pipet.config.path=/your/path/to/pipet-config.json
proctor.pipet.reload.seconds=10

Pipet Configuration

{
    "context": {
        "country": {
            "source": "QUERY",
            "type": "String"
        },
        "loggedIn": {
            "source": "QUERY",
            "type": "boolean",
            "defaultValue": false
        },
        "userAgent": {
            "source": "HEADER",
            "sourceKey": "User-Agent",
            "type": "UserAgent"
        }
    },
    "identifiers": {
        "USER": {
            "source": "QUERY"
        },
        "ACCOUNT": {
            "source": "QUERY",
            "sourceKey": "acctid"
        }
    }
}

API Endpoints

{
    "data": {
        ...
    },
    "meta": {
        "status": 200
    }
}

GET /groups/identify

If you use a simple cookie instead of signed cookies or sessions IDs, ensure that you check for user privilege before using the cookie value. Otherwise this is a **security issue** because ordinary users could manually set that cookie to force groups.

COMMUNITY DISCUSSIONS

No Community Discussions are available at this moment for proctor-pipet.Refer to stack overflow page for discussions.

No Community Discussions are available at this moment for proctor-pipet.Refer to stack overflow page for discussions.

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

VULNERABILITIES

No vulnerabilities reported

INSTALL proctor-pipet

git clone the repository or download the sources. Copy the three configuration files in proctor-pipet-deploy/src/main/webapp/WEB-INF/example/ to any directory. These contain some basic Proctor tests that let you quickly try out Proctor Pipet. Edit the paths in proctor-pipet-deploy/src/main/webapp/WEB-INF/config/pipet-base.properties to point to that directory. Run mvn package to create a .war package. Run java -jar proctor-pipet-deploy/target/dependency/webapp-runner.jar proctor-pipet-deploy/target/*.war. This starts a local web server. Visit http://localhost:8080/groups/identify?ctx.country=US&ctx.loggedIn=true&id.USER=pa5xq0lz4n80 in your browser. Like determineTestGroups(), this returns group assignments given context variables and identifiers. If you refresh, group assignments stay the same. This ensures your users don't change test groups as they browse. Try adding random characters to id.USER (which typically represents a tracking cookie). The assigned test groups will change.
git clone the repository or download the sources.
Copy the three configuration files in proctor-pipet-deploy/src/main/webapp/WEB-INF/example/ to any directory. These contain some basic Proctor tests that let you quickly try out Proctor Pipet.
Edit the paths in proctor-pipet-deploy/src/main/webapp/WEB-INF/config/pipet-base.properties to point to that directory. proctor.test.matrix.path=/your/path/to/proctor-tests-matrix.json proctor.pipet.config.path=/your/path/to/pipet-config.json proctor.pipet.reload.seconds=10
Run mvn package to create a .war package.
Run java -jar proctor-pipet-deploy/target/dependency/webapp-runner.jar proctor-pipet-deploy/target/*.war. This starts a local web server.
Visit http://localhost:8080/groups/identify?ctx.country=US&ctx.loggedIn=true&id.USER=pa5xq0lz4n80 in your browser. Like determineTestGroups(), this returns group assignments given context variables and identifiers. If you refresh, group assignments stay the same. This ensures your users don't change test groups as they browse. Try adding random characters to id.USER (which typically represents a tracking cookie). The assigned test groups will change. buttoncolortst has a string payload attached to it. You can use payloads to try different colors or text by changing the test matrix. No redeploy of your web application is needed! The user agent is parsed and can be used in more complex Proctor rules. For example, the mobileonly test only appears if the user agent is a mobile device. You can configure the API to accept context variables and identifiers from any source in pipet-config.json. The example is configured to look at the HTTP header User-Agent, but this can come from any header name or query parameter.

SUPPORT

For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .

Implement proctor-pipet faster with kandi.

  • Use the support, quality, security, license, reuse scores and reviewed functions to confirm the fit for your project.
  • Use the, Q & A, Installation and Support guides to implement faster.

Discover Millions of Libraries and
Pre-built Use Cases on kandi