---
product: Chilkat
product_version: 11.7.0
language: ckpython
language_label: CkPython
class: ServerSentEvent
class_name: CkServerSentEvent
license: free
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/pythonCkServerSentEventRef.html
---
# Chilkat ServerSentEvent — CkPython — v11.7.0

> Chilkat 11.7.0 · language=ckpython · class=ServerSentEvent (CkServerSentEvent)
> 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/ckpython/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**

```python
obj = chilkat.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 CkPython.

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` | `# strVal is a string # ckStr is a CkString serverSentEvent.get_DebugLogFilePath(ckStr); strVal = serverSentEvent.debugLogFilePath(); serverSentEvent.put_DebugLogFilePath(strVal);` | 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` | `# strVal is a string # ckStr is a CkString serverSentEvent.get_LastErrorHtml(ckStr); strVal = serverSentEvent.lastErrorHtml();` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `# strVal is a string # ckStr is a CkString serverSentEvent.get_LastErrorText(ckStr); strVal = serverSentEvent.lastErrorText();` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `# strVal is a string # ckStr is a CkString serverSentEvent.get_LastErrorXml(ckStr); strVal = serverSentEvent.lastErrorXml();` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `# boolVal is a boolean boolVal = serverSentEvent.get_LastMethodSuccess(); serverSentEvent.put_LastMethodSuccess(boolVal);` | read/write | Indicates the success or failure of the most recent method call: `True` means success, `False` means failure. |
| `Utf8` | `# boolVal is a boolean boolVal = serverSentEvent.get_Utf8(); serverSentEvent.put_Utf8(boolVal);` | read/write | When set to `True`, all `string` arguments and return values are interpreted as UTF-8 strings. |
| `VerboseLogging` | `# boolVal is a boolean boolVal = serverSentEvent.get_VerboseLogging(); serverSentEvent.put_VerboseLogging(boolVal);` | read/write | If set to `True`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `# strVal is a string # ckStr is a CkString serverSentEvent.get_Version(ckStr); strVal = serverSentEvent.version();` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `Data` | property, read-only | `# strVal is a string # ckStr is a CkString serverSentEvent.get_Data(ckStr); strVal = serverSentEvent.data();` |
| `EventName` | property, read-only | `# strVal is a string # ckStr is a CkString serverSentEvent.get_EventName(ckStr); strVal = serverSentEvent.eventName();` |
| `LastEventId` | property, read-only | `# strVal is a string # ckStr is a CkString serverSentEvent.get_LastEventId(ckStr); strVal = serverSentEvent.lastEventId();` |
| `Retry` | property, read-only | `# intVal is an integer intVal = serverSentEvent.get_Retry();` |
| `LoadEvent` | method | `# eventText is a string status = serverSentEvent.LoadEvent(eventText);` |

## Properties

### ServerSentEvent.Data

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

```python
# strVal is a string

# ckStr is a CkString

serverSentEvent.get_Data(ckStr);

strVal = serverSentEvent.data();
```

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

### ServerSentEvent.EventName

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

```python
# strVal is a string

# ckStr is a CkString

serverSentEvent.get_EventName(ckStr);

strVal = serverSentEvent.eventName();
```

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 · ckpython · ServerSentEvent · LastEventId · property · read-only · since 9.5.0.58`

```python
# strVal is a string

# ckStr is a CkString

serverSentEvent.get_LastEventId(ckStr);

strVal = serverSentEvent.lastEventId();
```

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

### ServerSentEvent.Retry

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

```python
# intVal is an integer

intVal = serverSentEvent.get_Retry();
```

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

## Methods

### ServerSentEvent.LoadEvent

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

```python
# eventText is a string

status = serverSentEvent.LoadEvent(eventText);
```

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.

