Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 708b158

Browse files
committed
small changes
1 parent 59a9311 commit 708b158

5 files changed

Lines changed: 8 additions & 6 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ What is working?
1414
- [x] gzip content encoding
1515
- [x] support for HTTP 1.1 keep-alive
1616
- [ ] maybe introduce some kind of URL rewriting like apache and nginx offer?
17+
- [ ] support for conditional GET requests (If-Modified-Since header) and corresponding 304 responses
1718
- [ ] more tests
1819

1920
So far it looks like the performance is not too bad in comparison with apache2 or nginx for example. Maybe at some point I will put together some benchmarks.

src/main/scala/server/Server.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ object Server {
1717
def main (args: Array[String]) {
1818
val config = new ServerConfig
1919
config.port = 8080
20+
config.maxWorkers = 75
2021

2122
val server = new Server(config)
2223

2324
server.registerHandler(
2425
new StaticFileHandler(new MimeTypeRegistry, new FileUtils, "/var/www/php"),
25-
new LocationRequestMatcher("/(js|css|images|bundles)/".r)
26+
new LocationRequestMatcher("/(js|css|images|bundles|static)/".r)
2627
)
2728

2829
server.registerHandler(

src/main/scala/server/handler/FastCgi/FastCgiHandler.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ import server.http.request.Request
88
import server.http.response.Response
99

1010
class FastCgiHandler(val documentRoot: String) extends Handler with LazyLogging {
11-
val reader = new ResponseReader(new RecordReader, new HeaderParser)
11+
private val reader = new ResponseReader(new RecordReader, new HeaderParser)
12+
1213
override def handle(request: Request): Response = {
1314
val socket = new Socket("127.0.0.1", 9000)
1415
socket.setSoTimeout(30000)
@@ -27,7 +28,6 @@ class FastCgiHandler(val documentRoot: String) extends Handler with LazyLogging
2728
params.add("REQUEST_METHOD", request.method)
2829
params.add("SYMFONY_ENV", "dev")
2930
params.add("SYMFONY_DEBUG", "1")
30-
//params.add("HTTP_CONNECTION", "keep-alive") //TODO
3131

3232
for((k,v) <- request.headers.foldValues) {
3333
params.add("HTTP_"+k.toString.replace("-", "_").toUpperCase, v)

src/main/scala/server/http/response/ResponseWriter.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ class ResponseWriter(private val keepAlivePolicy: KeepAlivePolicy) {
5555
}
5656

5757
if(keepAlive) {
58-
response.headers += Headers.CONNECTION -> "Keep-Alive"
58+
response.headers += Headers.CONNECTION -> "keep-alive"
5959
response.headers += Headers.KEEP_ALIVE -> keepAliveHeader
6060
}
6161
else {
62-
response.headers += Headers.CONNECTION -> "Close"
62+
response.headers += Headers.CONNECTION -> "close"
6363
}
6464

6565
//http://tools.ietf.org/html/rfc6265#section-4.1

src/test/scala/server/http/response/ResponseWriterTestSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class ResponseWriterTestSpec extends FlatSpec with Matchers with MockFactory {
6060

6161
writer.write(out, new Request(HttpMethod.GET, "/", HttpProtocol.HTTP_1_1), response, 0)
6262
val responseContent = new String(out.toByteArray, "UTF-8")
63-
responseContent should be("HTTP/1.1 200 OK\r\nX-Foo: Bar1,Bar2\r\nSet-Cookie: Bar1\r\nSet-Cookie: Bar2\r\nConnection: Close\r\n\r\n")
63+
responseContent should be("HTTP/1.1 200 OK\r\nX-Foo: Bar1,Bar2\r\nSet-Cookie: Bar1\r\nSet-Cookie: Bar2\r\nConnection: close\r\n\r\n")
6464
out.reset()
6565
}
6666
}

0 commit comments

Comments
 (0)