0.3.39 • Published 9 years ago

java-code-runner v0.3.39

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

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

0.4.5

9 years ago

0.4.3

9 years ago

0.4.2

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.39

9 years ago

0.3.38

9 years ago

0.3.37

9 years ago

0.3.36

9 years ago

0.3.35

9 years ago

0.3.34

9 years ago

0.3.33

9 years ago

0.3.32

9 years ago

0.3.31

9 years ago

0.3.30

9 years ago

0.3.29

9 years ago

0.3.28

9 years ago

0.3.27

9 years ago

0.3.24

9 years ago

0.3.23

9 years ago

0.3.22

9 years ago

0.3.21

9 years ago

0.3.2

10 years ago

0.3.1

10 years ago

0.3.0

10 years ago