[
https://issues.apache.org/jira/browse/FELIX-3084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ken Gilmer updated FELIX-3084:
------------------------------
Description:
This issue is created as part of the process outlined in the "Contributing
Source Code" Felix page as suggested by Richard Hall in issue FELIX-538[1].
The source code attached[6] to this issue is an implementation of the OSGi HTTP
Service specification version 1.2. The code is based on Richard's original
server which is also referenced in FELIX-538, and the remaining code was
developed by me, with the exception of a few classes which were adapted from
existing Felix sources[2].
Design constraints for this project were backwards compatibility, simplicity,
and size. The code base consists of 23 Java files in 3 packages. The source
is divided into "osgi", "server", and "servlet" packages according to the
primary purpose of the class, and interfaces are utilized to keep the three
domains fairly isolated[3]. The minimal compiled jar which does not include
the servlet API or OSGi API currently is 41Kb, and the dependency-free jar with
all necessary APIs is 125Kb. An Ant script is provided that will build the
jars and a CI server is also available for binary builds[4] and javadocs[5].
In terms of features the server doesn't offer:
-HTTPS
-Authentication
-Cookie support
-Session support
In addition several aspects of the Servlet implementation have not been tested
including:
-Multipart POST
-DELETE
-PUT
-Non-default character encodings
And as of the submission several Servlet API methods are unimplemented in (all
unimplemented methods throw
org.apache.felix.http.lightweight.servlet.UnimplementedAPIException):
-HttpServletRequest(Impl)
-HttpServletResponse(Impl)
However the core functionality has been implemented and tested and the Felix
Web Admin application can be hosted with this HTTP Service implementation.
I plan in continuing to use the service in personal and professional projects
and would be happy to continue to add unimplemented features and maintain the
code base as a Felix committer.
Thanks!
Ken Gilmer
1: https://issues.apache.org/jira/browse/FELIX-538
2:
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java,
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
3:
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java,
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
4: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/
5: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/javadoc/
6: MD5SUM 47580996a8c364890518222494d4d26b
org.apache.felix.http.lightweight-src.tar.gz
was:
This issue is created as part of the process outlined in the "Contributing
Source Code" Felix page as suggested by Richard Hall in issue FELIX-538[1].
The source code attached to this issue is an implementation of the OSGi HTTP
Service specification version 1.2. The code is based on Richard's original
server which is also referenced in FELIX-538, and the remaining code was
developed by me, with the exception of a few classes which were adapted from
existing Felix sources[2].
Design constraints for this project were backwards compatibility, simplicity,
and size. The code base consists of 23 Java files in 3 packages. The source
is divided into "osgi", "server", and "servlet" packages according to the
primary purpose of the class, and interfaces are utilized to keep the three
domains fairly isolated[3]. The minimal compiled jar which does not include
the servlet API or OSGi API currently is 41Kb, and the dependency-free jar with
all necessary APIs is 125Kb. An Ant script is provided that will build the
jars and a CI server is also available for binary builds[4] and javadocs[5].
In terms of features the server doesn't offer:
-HTTPS
-Authentication
-Cookie support
-Session support
In addition several aspects of the Servlet implementation have not been tested
including:
-Multipart POST
-DELETE
-PUT
-Non-default character encodings
And as of the submission several Servlet API methods are unimplemented in (all
unimplemented methods throw
org.apache.felix.http.lightweight.servlet.UnimplementedAPIException):
-HttpServletRequest(Impl)
-HttpServletResponse(Impl)
However the core functionality has been implemented and tested and the Felix
Web Admin application can be hosted with this HTTP Service implementation.
I plan in continuing to use the service in personal and professional projects
and would be happy to continue to add unimplemented features and maintain the
code base as a Felix committer.
Thanks!
Ken Gilmer
1: https://issues.apache.org/jira/browse/FELIX-538
2:
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java,
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
3:
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java,
/plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
4: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/
5: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/javadoc/
> Submission of source code for review of software grant for lightweight HTTP
> service implementation.
> ---------------------------------------------------------------------------------------------------
>
> Key: FELIX-3084
> URL: https://issues.apache.org/jira/browse/FELIX-3084
> Project: Felix
> Issue Type: Task
> Components: HTTP Service
> Reporter: Ken Gilmer
> Labels: software
> Attachments: org.apache.felix.http.lightweight-src.tar.gz
>
>
> This issue is created as part of the process outlined in the "Contributing
> Source Code" Felix page as suggested by Richard Hall in issue FELIX-538[1].
> The source code attached[6] to this issue is an implementation of the OSGi
> HTTP Service specification version 1.2. The code is based on Richard's
> original server which is also referenced in FELIX-538, and the remaining code
> was developed by me, with the exception of a few classes which were adapted
> from existing Felix sources[2].
> Design constraints for this project were backwards compatibility, simplicity,
> and size. The code base consists of 23 Java files in 3 packages. The source
> is divided into "osgi", "server", and "servlet" packages according to the
> primary purpose of the class, and interfaces are utilized to keep the three
> domains fairly isolated[3]. The minimal compiled jar which does not include
> the servlet API or OSGi API currently is 41Kb, and the dependency-free jar
> with all necessary APIs is 125Kb. An Ant script is provided that will build
> the jars and a CI server is also available for binary builds[4] and
> javadocs[5].
> In terms of features the server doesn't offer:
> -HTTPS
> -Authentication
> -Cookie support
> -Session support
> In addition several aspects of the Servlet implementation have not been
> tested including:
> -Multipart POST
> -DELETE
> -PUT
> -Non-default character encodings
> And as of the submission several Servlet API methods are unimplemented in
> (all unimplemented methods throw
> org.apache.felix.http.lightweight.servlet.UnimplementedAPIException):
> -HttpServletRequest(Impl)
> -HttpServletResponse(Impl)
> However the core functionality has been implemented and tested and the Felix
> Web Admin application can be hosted with this HTTP Service implementation.
> I plan in continuing to use the service in personal and professional projects
> and would be happy to continue to add unimplemented features and maintain the
> code base as a Felix committer.
> Thanks!
> Ken Gilmer
> 1: https://issues.apache.org/jira/browse/FELIX-538
> 2:
> /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java,
>
> /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
> 3:
> /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java,
>
> /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
> 4: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/
> 5:
> https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/javadoc/
> 6: MD5SUM 47580996a8c364890518222494d4d26b
> org.apache.felix.http.lightweight-src.tar.gz
>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira