Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

java-code-runner

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

java-code-runner

This is a module for runinng Java from String inside a node server

  • 0.3.39
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-75%
Maintainers
1
Weekly downloads
 
Created
Source

This is a module for runinng Java from String inside a node server built for another project called kodr

to run tests

npm install
npm test

The java server can run independently

I use Java 1.8

to run the server

Compile using 'ant'

Run server in bin

java -cp .:../lib/servlet-api-2.5.jar:../lib/jetty-all-7.0.2.v20100331.jar RunnerServlet

The default port is 3678

The server will return a statusCode 200 for GET request to '/'.

The server will return a JSON object {stout:String, sterr:String} for POST request to '/'.

The POST body should be {name:[nameOfClass], code:[classContent]} you can also post an optional input parameter for inpout stream and a timeLimit long for setting a timelimit on running the program

example in nodejs, you can build a similar request using postman

var post_data = querystring.stringify({
    'name': 'Main',
    'code': 'public class Main {public static void main (String [] args) { System.out.println("Hello World");}}',
    input:"input stream"
});
// An object of options to indicate where to post to
http.request({
    host: '127.0.0.1',
    port: 3678,
    path: '',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': post_data.length // don't need to fill this in postman
    }
}, function (res) {...});

post_req.write(post_data);
post_req.end();

java dependencies are in the .java-dependency file

This code is designed for UNIX system it may be incompatible with Windows, eg. I use the ':' to speerate classpath

###node wraper The module's index.js file exposes 6 methods

  • run
  • test
  • runClass
  • stopServer
  • runServer
  • recompile which prgramatically compiles only once per process

see tests for how they work.

###Things left to do

Look into runing the java server as a docker container for security

Keywords

FAQs

Package last updated on 28 Dec 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc