---
product: Chilkat
product_version: 11.7.0
language: js
language_label: JavaScript
class: ServerSentEvent
license: free
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/jsServerSentEventRef.html
---
# Chilkat ServerSentEvent — JavaScript — v11.7.0

> Chilkat 11.7.0 · language=js · class=ServerSentEvent
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/ServerSentEvent.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/js/guide.md`.

## Purpose

**Parse server-sent event text into event name, data, ID, and retry fields.**

`Chilkat.ServerSentEvent` is a small helper class for parsing Server-Sent Events formatted text. Given a multi-line event block, it extracts the `event` name, `data` payload, `id` value, and `retry` interval into simple read-only properties. It is useful when an application receives event-stream text and needs to work with the structured event fields instead of manually parsing the raw lines.

**Load event text**

Use `LoadEvent` to parse a complete multi-line Server-Sent Event block.

**Read event name**

Inspect `EventName` to determine the event type supplied by the server, if an `event:` field is present.

**Read event data**

Use `Data` to obtain the event payload, such as JSON text from a streaming API or real-time service.

**Track event IDs**

Read `LastEventId` when the event includes an `id:` field that identifies the event or stream position.

**Handle retry hints**

Use `Retry` to read the server-provided retry interval when a `retry:` field is included.

**Diagnostics**

Check `LastErrorText` if event text cannot be parsed or if a parsing result is unexpected.

**Relationship to `Chilkat.WebSocket`:** `ServerSentEvent` does not manage a WebSocket connection or parse WebSocket frames. Instead, it can be used after `Chilkat.WebSocket` receives a text message whose payload is formatted as a Server-Sent Event. Read the WebSocket text frame, pass the event text to `LoadEvent`, then use `EventName`, `Data`, `LastEventId`, and `Retry` to process the event.

**Common pattern:** Receive or otherwise obtain a complete Server-Sent Event text block, call `LoadEvent`, then inspect `EventName` to route the event and `Data` to process the payload. Use `LastEventId` and `Retry` when the stream provides reconnection or event-position information.

## Object creation, unlocking and error handling

**Object Creation**

Note: This is intended for running within a [Chilkat.Js embedded JavaScript engine](https://www.chilkatsoft.com/chilkat_javascript_engine.asp).

```
var obj = new CkServerSentEvent();
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in JavaScript.

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `DebugLogFilePath` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastErrorHtml` | `LastErrorHtml` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `LastErrorText` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `LastErrorXml` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `LastMethodSuccess` | read/write | Indicates the success or failure of the most recent method call: `true` means success, `false` means failure. |
| `VerboseLogging` | `VerboseLogging` | read/write | If set to `true`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `Version` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `Data` | property, read-only | `Data` |
| `EventName` | property, read-only | `EventName` |
| `LastEventId` | property, read-only | `LastEventId` |
| `Retry` | property, read-only | `Retry` |
| `LoadEvent` | method | `var success = LoadEvent(eventText);` |

## Properties

### ServerSentEvent.Data

`Chilkat 11.7.0 · js · ServerSentEvent · Data · property · read-only · since 9.5.0.58`

```javascript
Data
```

· `string`, `read-only`

The data for the server-side event. (If the `data` field was empty, then this will be empty.)

### ServerSentEvent.EventName

`Chilkat 11.7.0 · js · ServerSentEvent · EventName · property · read-only · since 9.5.0.58`

```javascript
EventName
```

· `string`, `read-only`

The name of the server-side event. (If the `event` field was not present, then this will be empty.)

### ServerSentEvent.LastEventId

`Chilkat 11.7.0 · js · ServerSentEvent · LastEventId · property · read-only · since 9.5.0.58`

```javascript
LastEventId
```

· `string`, `read-only`

The content of the `id` field, if present.

### ServerSentEvent.Retry

`Chilkat 11.7.0 · js · ServerSentEvent · Retry · property · read-only · since 9.5.0.58`

```javascript
Retry
```

· `int`, `read-only`

The integer value of the `retry` field, if it exists; otherwise, 0.

## Methods

### ServerSentEvent.LoadEvent

`Chilkat 11.7.0 · js · ServerSentEvent · LoadEvent · method · since 9.5.0.58`

```javascript
var success = LoadEvent(eventText);
```

· return: `boolean`; `true` for success, `false` for failure  
· eventText: `string`

Loads the multi-line event text into this object. For example, the `eventText` for a Firebase event might look like this:

```
event: put
data: {"path": "/c", "data": {"foo": true, "bar": false}}
```

Returns true for success, false for failure.

