An open API service providing repository metadata for many open source software ecosystems.

GitHub / nginx-clojure / nginx-clojure

Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers.

JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginx-clojure%2Fnginx-clojure
PURL: pkg:github/nginx-clojure/nginx-clojure

Stars: 1,083
Forks: 113
Open issues: 34

License: other
Language: Java
Size: 3.72 MB
Dependencies parsed at: Pending

Created at: almost 12 years ago
Updated at: about 1 month ago
Pushed at: over 1 year ago
Last synced at: 30 days ago

Commit Stats

Commits: 567
Authors: 12
Mean commits per author: 47.25
Development Distribution Score: 0.437
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/nginx-clojure/nginx-clojure

Topics: clojure, groovy, java, nginx, nginx-clojure, nginx-java

Releases
APIs for Embedding, Autodetect jvm_path, Unix domain socket and etc.

v0.4.1

0.4.1 (2015-08-12)

  1. New Feature: Coroutine based socket supports unix domain socket
  2. New Feature: APIs for Embedding Nginx-Clojure into a standard Clojure/Java/Groovy App (issue #86)
  3. New Feature: Autodetect jvm_path (issue #85)
  4. New Feature: Support to use annotation to mark a class or method to be suspenable in coroutine context (issue #84)
  5. Enhancement: Auto send error when meets a non websocket request with auto_upgrade_ws is on
  6. Enhancement: Add websocket-upgrade! to server channel API
  7. Enhancement: Add WholeMessageAdapter to make handling small websocket messages easier.
  8. Bug Fix: NginxHttpServerChannel.write(ByteBuffer buf) does not reset the buffer’s position (issue #83)
  9. Bug Fix: No access to tomcat server 8.24 from nginx-clojure (issue #82)
  10. Binaries Distribution: Including some java sources for easy debug.
  11. Build Script: Autodetect JNI header files
about 10 years ago
Download
WebSocket, Support Embedding Tomcat & Jersey (java standard RESTful web services)

v0.4.0

0.4.0 (2015-07-06)

  1. New Feature: Service Side Websocket (issue #73)
  2. New Feature: A build-in Jersey container to support java standard RESTful web services (JAX-RS 2.0) (issue #74)
  3. New Feature: Tomcat 8 embedding support (so servlet 3.1/jsp/sendfile/JSR-356 websocket work within nginx!) (issue #67)
  4. New Feature: Coroutined Based Client Socket Supports to Bind to Specified IP Address (issue #69)
  5. New Feature: Handler’s Property Configuration (issue #66)
  6. Enhancement: NginxHttpServerChannel can work with Rewrite Handler or Access Handler (issue #79)
  7. Enhancement: Configurable Write Buffer Size for SSE or Websocket (issue #76)
  8. Bug Fix: When we do not configure jvm_path proxy_pass will not work (issue #72)
  9. Bug Fix: nginx worker restart when get the value of header X-Forwarded-For (issue #70)
  10. Bug Fix: proxy_cache_path causes crash (issue #64)
  11. Bug Fix: send_timeout does not take effect with NginxHttpServerChannel (issue #78)
  12. Bug Fix: Waving tool generates wrong wave information of fuzzing classes (issue #80)
  13. Documents : Release History link in README (issue #68)
  14. Binaries Distribution: built with The latest stable Nginx v1.8.0 which released at 2015-04-21.
over 10 years ago
Download
Supports Nginx Access Handler & Header Filter & other Enhancements

v0.3.0

0.3.0 (2014-12-11)

  1. Discard: Directive clojure, clojure_code are no longer supported, use handler_type/content_handler_type,
    handler_name/content_handler_name, handler_code/content_handler_code instead.
  2. Discard: Now handler_*** can not be used to declare a nginx worker initialization handler, use `jvm_init_handler_*** instead.
  3. New Feature: Supports writing nginx access handler by java/clojure/groovy (issue #53)
  4. New Feature: Supports writing nginx header filter by java/clojure/groovy (issue #55)
  5. New Feature: Add new directive max_balanced_tcp_connections to make nginx auto set worker_connections.
  6. Enhancement: For Java We can use r.setVariable, r.getVariable now if r is an instance of NginxJavaRequest.
  7. Deprecated Directives: handler_type, handler_name, handler_code are deprecated and maybe will be removed in the next version, add new directive content_handler_type, content_handler_code, content_handler_code
  8. New Directives: rewrite_handler_type, access_handler_type, header_filter_type, body_filter_type
  9. New Feature: Supports nested locations (issue #56)
  10. Bug Fix : uppercase letters in nginx variable name can not work (issue #54)
  11. Bug Fix: The first registered handler will not work if there ’s a asynchronous reading of request body (issue #51)
  12. Enhancement: handlers_lazy_init can be used to make handler initialized lazily or eagerly (issue #52)
almost 11 years ago
Download
Optimization of encoding String & Supports to Access Request BODY in Rewrite Handler

v0.2.7

0.2.7 (2014-11-11)

  1. New Feature: Compiling option for disabling all functions silently when JVM_PATH not configured. (issue #47)
  2. New Feature: Access request BODY in rewrite handler (issue #49)
  3. Enhancement : Optimization of encoding String to Nginx temp buffer chain to reduce Java heap memory usage and improve the performance.
almost 11 years ago
Download
Fix Bugs about Rewrite Handler & built-in jvm variable #{pno}

v0.2.6

0.2.6 (2014-10-10)

  1. Fix Bug: rewrite handler does not handle write event correctly with thread pool mode or coroutine mode (issue #43)
  2. Fix Bug: built-in jvm variable #{pno} doesn’t work (issue #44)
  3. Fix Bug: rewrite_handler_name does not work without content handler (issue #45). Thanks Eric Kubacki for finding this bug.
  4. Fix Bug: rewrite handler does not handle write event correctly with thread pool mode or coroutine mode (issue #43)
  5. Documents : Correct some inaccuracies and add section about logging in Chapter More about Nginx-Clojure
  6. Binaries: built with the lastest stable Nginx v1.6.2 which released at 2014-09-16.
about 11 years ago
Download
Long Polling, SSE, Win64, Broadcast Events and Asynchronous Channels

v0.2.5

0.2.5 (2014-09-07)

  1. New Feature: Reference variables in jvm_options & different jvm debug ports for jvm processes (issue #42)
  2. New Feature: Server Sent Events(SSE) & Long polling (issue #41, issue #36)
  3. New Feature: Supports 64-bit JDK on 64-bit Windows (issue #40)
  4. New Feature: Coroutine based socket supports JDK8 (issue #39)
  5. New Feature: More easier to archive Sub/Pub services with Broadcast Events to all Nginx workers (issue #39)
  6. New Feature: Asynchronous Channel a wrapper of asynchronous socket to make the usage easier (issue #37)
  7. Enhancement: Fix–On Windows a little many write events happen and these events seem useless (issue #35)
about 11 years ago
Download
Important Bugs fixed & Support Groovy

v0.2.4

0.2.4 (2014-07-25)

  1. New Feature: Support Groovy - another dynamic jvm language (issue #34)
  2. Fix bug: Slow Memory Leak for Coroutine based Socket bug (issue #32 )
  3. Fix bug: Should Clone ThreadLocals for Coroutines (issue #31)
  4. New Feature: More friendly to java users who maybe know nothing about clojure feature (issue #29)
  5. Five new nginx directives handler_type, handler_name, handler_code, rewrite_handler_name, rewrite_handler_code.
    Make Clojure/Java/Groovy handler configurations have the same form. e.g. The old pair of nginx directives clojure, clojure_code is equivalent to handler_type='clojure' + handler_code.

The binary release (support win32, linux x86 32bit, linux x64, macosx) can be found from https://sourceforge.net/projects/nginx-clojure/files/

over 11 years ago
Download
Support user defined http request method & Some serious bugs fixed

v0.2.3

0.2.3 (2014-07-05)

  1. Fix issue After invoking on coroutine based socket nginx worker will exit and be recreated when network is disabled (issue #26)
  2. Fix issue PATCH loses the data payload (issue #27)
  3. Support user defined http request method (issue #28 )
  4. Fix issue Nginx worker crashes when to fetch http header “authorization” from request (issue #30)
over 11 years ago
Download
Fix Bug of NPE with Compojure+Solrj+httpclient & Add Verifying Option for Auto Generated Waving Configurations

v0.2.2

0.2.2 (2014-05-31)

  1. Fix bug of with Compojure 1.1.5 + Apache Solrj 4.3.0 + httpclient 4.3.2 NPE happens first time then everything is OK (issue #22)
  2. Verifying option for auto generated waving configurations needed by coroutine based socket (issue #23)
over 11 years ago
Download
Support nginx rewrite handler & multiple sockets parallel in sub coroutine

v0.2.1

0.2.1 (2014-05-17)

  1. Support to close coroutine based socket from non-main thread (issue #19)
  2. Auto generated waving class configurations about Proxy InvocationHandler instance (issue #17 )
  3. Supports auto turn on thread pool mode when turning on Run Tool Mode feature (issue #16 )
  4. Fix bug of reading from coroutine based socket inputstream returns 0 when eof, should return -1 (issue #15)
  5. Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time feature (issue #14)
  6. Support nginx rewrite handler to set var before proxy pass (issue #3)
over 11 years ago
Download