Read and Write Streams

Develop

  1. Create a new project and name it stream_read_write_basic.
  2. Select the ScriptingServices sub-folder of the project and open the pop-up menu.
  3. Choose New -> Scripting Service.
  4. Choose Server-Side JavaScript Service from the list of available templates.
  5. Give it a meaningful name (e.g stream_read_write_basic.js).
  6. Replace the generated code in stream_read_write_basic.js with the following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
	/* globals $ */
	/* eslint-env node, dirigible */

	var streams = require('io/streams');
	var response = require('net/http/response');

	var outputStream = streams.createByteArrayOutputStream();

	streams.writeText(outputStream, "Some text content");

	var bytes = outputStream.getBytes();
	response.println("[Stream Content as Bytes]: " + bytes);

	var text = String.fromCharCode.apply(String, bytes);
	response.println("[Stream Content as Text]: " + text);

	var inputStream = streams.createByteArrayInputStream(bytes);
	var outputStreamCopy = streams.createByteArrayOutputStream();
	streams.copy(inputStream, outputStreamCopy);
	var copiedBytes = outputStreamCopy.getBytes();
	var copiedText = String.fromCharCode.apply(String, copiedBytes);
	response.println("[Stream Copied Content as Text]: " + copiedText);

	response.flush();
	response.close();
	

Discover

To discover all available services, you can go to the Registry.

  1. From the main menu, choose Window -> Show Perspective -> Registry.
  2. The Registry perspective represents a view to the enabled runtime content. From its menu, choose Discover -> JavaScript to open the currently available server-side JavaScript service endpoints.
  3. You can see the list of available endpoints, where you can find yours by naming convention: {project}/{service path}
Edit