This is an automated email from the ASF dual-hosted git repository.
ianmcook pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-experiments.git
The following commit(s) were added to refs/heads/main by this push:
new f4c54a5 Show how to disable chunked transfer encoding in Go and Java
server examples (#13)
f4c54a5 is described below
commit f4c54a5fd7376d5bba47b9055fac048d3d0b976d
Author: Ian Cook <[email protected]>
AuthorDate: Sun Mar 10 21:52:03 2024 -0400
Show how to disable chunked transfer encoding in Go and Java server
examples (#13)
* Capitalize headers in Go example
* Update Go examples to use latest Arrow
* Add comments to Java and Go examples showing how to disable chunked
transfer encoding
---
http/get_simple/go/client/go.mod | 2 +-
http/get_simple/go/server/go.mod | 2 +-
http/get_simple/go/server/server.go | 12 +++++++-----
.../server/src/main/java/com/example/ArrowHttpServer.java | 5 +++++
4 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/http/get_simple/go/client/go.mod b/http/get_simple/go/client/go.mod
index 7306565..aae0040 100644
--- a/http/get_simple/go/client/go.mod
+++ b/http/get_simple/go/client/go.mod
@@ -2,7 +2,7 @@ module client
go 1.21.5
-require github.com/apache/arrow/go/v15 v15.0.0
+require github.com/apache/arrow/go/v15 v15.0.1
require (
github.com/goccy/go-json v0.10.2 // indirect
diff --git a/http/get_simple/go/server/go.mod b/http/get_simple/go/server/go.mod
index b2bc4db..784a851 100644
--- a/http/get_simple/go/server/go.mod
+++ b/http/get_simple/go/server/go.mod
@@ -2,7 +2,7 @@ module server
go 1.21.5
-require github.com/apache/arrow/go/v15 v15.0.0
+require github.com/apache/arrow/go/v15 v15.0.1
require (
github.com/goccy/go-json v0.10.2 // indirect
diff --git a/http/get_simple/go/server/server.go
b/http/get_simple/go/server/server.go
index aab489c..d7db005 100644
--- a/http/get_simple/go/server/server.go
+++ b/http/get_simple/go/server/server.go
@@ -95,13 +95,15 @@ func main() {
hdrs := w.Header()
- // set these headers if testing with a local browser-based
client:
+ //// set this header to disable chunked transfer encoding:
+ //hdrs.Add("Transfer-Encoding", "identity")
- //hdrs.Add("access-control-allow-origin",
"http://localhost:8000")
- //hdrs.Add("access-control-allow-methods", "GET")
- //hdrs.Add("access-control-allow-headers", "content-type")
+ //// set these headers if testing with a local browser-based
client:
+ //hdrs.Add("Access-Control-Allow-Origin",
"http://localhost:8000")
+ //hdrs.Add("Access-Control-Allow-Methods", "GET")
+ //hdrs.Add("Access-Control-Allow-Headers", "content-type")
- hdrs.Add("content-type", "application/vnd.apache.arrow.stream")
+ hdrs.Add("Content-Type", "application/vnd.apache.arrow.stream")
w.WriteHeader(http.StatusOK)
wr := ipc.NewWriter(w, ipc.WithSchema(batches[0].Schema()))
diff --git
a/http/get_simple/java/server/src/main/java/com/example/ArrowHttpServer.java
b/http/get_simple/java/server/src/main/java/com/example/ArrowHttpServer.java
index 856f25f..a4e3d0c 100644
--- a/http/get_simple/java/server/src/main/java/com/example/ArrowHttpServer.java
+++ b/http/get_simple/java/server/src/main/java/com/example/ArrowHttpServer.java
@@ -118,6 +118,11 @@ public class ArrowHttpServer extends AbstractHandler {
response.setContentType("application/vnd.apache.arrow.stream");
response.setStatus(HttpServletResponse.SC_OK);
+ //// set this header to disable chunked transfer encoding:
+ //response.setHeader("Connection", "close");
+
+ response.flushBuffer();
+
try (
OutputStream stream = response.getOutputStream();
VectorSchemaRoot root = VectorSchemaRoot.create(schema, allocator);