From 9ef1e69ae0a62a03b5924ea2f534f0a9ea213845 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Wed, 13 Sep 2023 20:03:12 +0800 Subject: [PATCH] Push Examples (#3735) --- extra/push-examples/.gitignore | 3 ++ extra/push-examples/bash-curl/index.sh | 9 ++++++ extra/push-examples/csharp/index.cs | 24 ++++++++++++++ extra/push-examples/go/index.go | 20 ++++++++++++ extra/push-examples/java/index.java | 32 +++++++++++++++++++ extra/push-examples/javascript-fetch/index.js | 10 ++++++ .../javascript-fetch/package.json | 5 +++ extra/push-examples/php/index.php | 14 ++++++++ extra/push-examples/powershell/index.ps1 | 8 +++++ extra/push-examples/python/index.py | 11 +++++++ .../push-examples/typescript-fetch/README.md | 19 +++++++++++ extra/push-examples/typescript-fetch/index.ts | 10 ++++++ .../typescript-fetch/package.json | 13 ++++++++ 13 files changed, 178 insertions(+) create mode 100644 extra/push-examples/.gitignore create mode 100644 extra/push-examples/bash-curl/index.sh create mode 100644 extra/push-examples/csharp/index.cs create mode 100644 extra/push-examples/go/index.go create mode 100644 extra/push-examples/java/index.java create mode 100644 extra/push-examples/javascript-fetch/index.js create mode 100644 extra/push-examples/javascript-fetch/package.json create mode 100644 extra/push-examples/php/index.php create mode 100644 extra/push-examples/powershell/index.ps1 create mode 100644 extra/push-examples/python/index.py create mode 100644 extra/push-examples/typescript-fetch/README.md create mode 100644 extra/push-examples/typescript-fetch/index.ts create mode 100644 extra/push-examples/typescript-fetch/package.json diff --git a/extra/push-examples/.gitignore b/extra/push-examples/.gitignore new file mode 100644 index 000000000..717394d0b --- /dev/null +++ b/extra/push-examples/.gitignore @@ -0,0 +1,3 @@ +java/Index.class +csharp/index.exe +typescript-fetch/index.js diff --git a/extra/push-examples/bash-curl/index.sh b/extra/push-examples/bash-curl/index.sh new file mode 100644 index 000000000..54b7626cc --- /dev/null +++ b/extra/push-examples/bash-curl/index.sh @@ -0,0 +1,9 @@ +#!/bin/bash +PUSH_URL="https://example.com/api/push/key?status=up&msg=OK&ping=" +INTERVAL=60 + +while true; do + curl -s -o /dev/null $PUSH_URL + echo "Pushed!" + sleep $INTERVAL +done diff --git a/extra/push-examples/csharp/index.cs b/extra/push-examples/csharp/index.cs new file mode 100644 index 000000000..94eecfb84 --- /dev/null +++ b/extra/push-examples/csharp/index.cs @@ -0,0 +1,24 @@ +using System; +using System.Net; +using System.Threading; + +/** + * Compile: C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe index.cs + * Run: index.exe + */ +class Index +{ + const string PushURL = "https://example.com/api/push/key?status=up&msg=OK&ping="; + const int Interval = 60; + + static void Main(string[] args) + { + while (true) + { + WebClient client = new WebClient(); + client.DownloadString(PushURL); + Console.WriteLine("Pushed!"); + Thread.Sleep(Interval * 1000); + } + } +} diff --git a/extra/push-examples/go/index.go b/extra/push-examples/go/index.go new file mode 100644 index 000000000..2e518e74e --- /dev/null +++ b/extra/push-examples/go/index.go @@ -0,0 +1,20 @@ +package main + +import ( + "fmt" + "net/http" + "time" +) + +func main() { + const PushURL = "https://example.com/api/push/key?status=up&msg=OK&ping=" + const Interval = 60 + + for { + _, err := http.Get(PushURL) + if err == nil { + fmt.Println("Pushed!") + } + time.Sleep(Interval * time.Second) + } +} diff --git a/extra/push-examples/java/index.java b/extra/push-examples/java/index.java new file mode 100644 index 000000000..5a773428a --- /dev/null +++ b/extra/push-examples/java/index.java @@ -0,0 +1,32 @@ +import java.net.HttpURLConnection; +import java.net.URL; + +/** + * Compile: javac index.java + * Run: java Index + */ +class Index { + + public static final String PUSH_URL = "https://example.com/api/push/key?status=up&msg=OK&ping="; + public static final int INTERVAL = 60; + + public static void main(String[] args) { + while (true) { + try { + URL url = new URL(PUSH_URL); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("GET"); + con.getResponseCode(); + con.disconnect(); + System.out.println("Pushed!"); + } catch (Exception e) { + e.printStackTrace(); + } + try { + Thread.sleep(INTERVAL * 1000); + } catch (Exception e) { + e.printStackTrace(); + } + } + } +} diff --git a/extra/push-examples/javascript-fetch/index.js b/extra/push-examples/javascript-fetch/index.js new file mode 100644 index 000000000..cb664513c --- /dev/null +++ b/extra/push-examples/javascript-fetch/index.js @@ -0,0 +1,10 @@ +const pushURL = "https://example.com/api/push/key?status=up&msg=OK&ping="; +const interval = 60; + +const push = async () => { + await fetch(pushURL); + console.log("Pushed!"); +}; + +push(); +setInterval(push, interval * 1000); diff --git a/extra/push-examples/javascript-fetch/package.json b/extra/push-examples/javascript-fetch/package.json new file mode 100644 index 000000000..78aefc234 --- /dev/null +++ b/extra/push-examples/javascript-fetch/package.json @@ -0,0 +1,5 @@ +{ + "scripts": { + "start": "node index.js" + } +} diff --git a/extra/push-examples/php/index.php b/extra/push-examples/php/index.php new file mode 100644 index 000000000..6c981ba11 --- /dev/null +++ b/extra/push-examples/php/index.php @@ -0,0 +1,14 @@ + { + await fetch(pushURL); + console.log("Pushed!"); +}; + +push(); +setInterval(push, interval * 1000); diff --git a/extra/push-examples/typescript-fetch/package.json b/extra/push-examples/typescript-fetch/package.json new file mode 100644 index 000000000..9d7e97443 --- /dev/null +++ b/extra/push-examples/typescript-fetch/package.json @@ -0,0 +1,13 @@ +{ + "scripts": { + "ts-node": "ts-node index.ts", + "deno": "deno run --allow-net index.ts", + "bun": "bun index.ts" + }, + "devDependencies": { + "@types/node": "^20.6.0", + "ts-node": "^10.9.1", + "tslib": "^2.6.2", + "typescript": "^5.2.2" + } +}