packages/miniflux/data_stream/feed_entry/agent/stream/cel.yml.hbs (116 lines of code) (raw):

config_version: 2 interval: {{interval}} resource.tracer: enabled: {{enable_request_tracer}} filename: "../../logs/cel/http-request-trace-*.ndjson" maxbackups: 5 resource.url: {{api_url}} state: api_key: {{api_key}} batch_size: {{batch_size}} redact: fields: - api_key {{#if regex_input}} regexp: regex_input: '{{regex_input}}' {{else}} regexp: regex_input: '^$' {{/if}} program: |- state.with( request( "GET", state.url + "?" + { "limit": [string(state.batch_size)], "order": ["id"], "after_entry_id": [ has(state.cursor) && has(state.cursor.last_entry_id) && state.cursor.last_entry_id != null ? string(state.cursor.last_entry_id) : "0", ], }.format_query() ).with( { "Header":{ "X-Auth-Token": [state.api_key], } } ).do_request().as(resp, (resp.StatusCode != 200) ? { "events": { "error": { "code": string(resp.StatusCode), "id": string(resp.Status), "message": "GET " + state.url + ( size(resp.Body) != 0 ? string(resp.Body) : string(resp.Status) + ' (' + string(resp.StatusCode) + ')' ), }, }, "want_more": false, } : bytes(resp.Body).decode_json().as(body, !has(body.entries) ? { "events": [], "want_more": false, } : { "events": body.entries.map(feed_entry, (feed_entry.content.encode_json().re_find_all("regex_input").size() == 0) ? [{ "message": feed_entry.encode_json() }] : feed_entry.content.encode_json().re_find_all("regex_input").map(e, e.to_upper()).as(ids, ids.zip(ids).keys()).map( feed_entry_split, { "message": feed_entry.with({ "feed_entry_split": feed_entry_split }).encode_json(), "feed_entry_split": feed_entry_split, } ) ).flatten().drop_empty(), "cursor": { "last_entry_id": ( has(body.entries) ? ( (body.entries.size() > 0) ? string(int(body.entries.map(e, e.id).max())) : state.cursor.last_entry_id ) : "" ), "size": body.entries.size(), }, "want_more": has(body.entries) && body.entries.size() > 0, "batch_size": state.batch_size, "api_key": state.api_key, "url": state.url, } ) ) ) tags: {{#if preserve_original_event}} - preserve_original_event {{/if}} {{#each tags as |tag|}} - {{tag}} {{/each}} {{#contains "forwarded" tags}} publisher_pipeline.disable_host: true {{/contains}} {{#if processors}} processors: {{processors}} {{/if}}