API 参考

GET /

返回索引页面。

GET /<name>[.<ext>]/<name>/<filename>[.<ext>]

获取名称为 <name> 的粘贴。默认情况下,将返回粘贴的原始内容。

Content-Type 头设置为 text/plain;charset=UTF-8。如果给定了 <ext>,工作程序将根据 <ext> 推断 MIME 类型并更改 Content-Type。此方法接受以下查询字符串参数:

Content-Disposition 头默认设置为 inline,但可以通过 ?a 查询字符串覆盖。如果粘贴是带有文件名上传的,或者在给定的请求 URL 中设置了 <filename>,则 Content-Disposition 将附加 filename*,指示文件名(如果存在 <ext>,则包含)。

示例:GET /abcd?lang=jsGET /abcd?mime=application/json

如果发生错误,工作程序将返回不同于 200 的状态码:

使用示例:

$ curl https://light-gpt.eu.org/i-p-
https://web.archive.org/web/20210328091143/https://mp.weixin.qq.com/s/5phCQP7i-JpSvzPEMGk56Q

$ curl https://light-gpt.eu.org/~panty.jpg | feh -

$ firefox 'https://light-gpt.eu.org/kf7z?lang=nix'

$ curl 'https://light-gpt.eu.org/~panty.jpg?mime=image/png' -w '%{content_type}' -o /dev/null -sS
image/png;charset=UTF-8

GET /<name>:<passwd>

返回用于编辑名称为 <name> 且密码为 <passwd> 的粘贴的网页。

如果发生错误,工作程序将返回不同于 200 的状态码:

GET /u/<name>

重定向到名称为 <name> 的粘贴中记录的 URL。

如果发生错误,工作程序将返回不同于 302 的状态码:

使用示例:

$ firefox https://light-gpt.eu.org/u/i-p-

$ curl -L https://light-gpt.eu.org/u/i-p-

GET /a/<name>

返回从名称为 <name> 的粘贴中存储的 Markdown 文件转换的 HTML。Markdown 转换遵循 GitHub Flavored Markdown (GFM) 规范,由 remark-gfm 支持。

语法高亮由 prism.js 支持。LaTeX 数学由 MathJax 支持。

如果发生错误,工作程序将返回不同于 200 的状态码:

使用示例:

# Header 1
这是 `test.md` 的内容

<script>
alert("脚本应被移除")
</script>

## Header 2

| abc | defghi |
:-: | -----------:
bar | baz

**粗体**,`等宽字体`,*斜体*,~~删除线~~, [链接](https://github.com)

- A
 - A1
 - A2
- B

![Panty](https://light-gpt.eu.org/~panty.jpg)

1. 第一个
2. 第二个

> 引用

$
\int_{-\infty}^{\infty} e^{-x^2} = \sqrt{\pi}
$
$ curl -Fc=@test.md -Fn=test-md https://light-gpt.eu.org

$ firefox https://light-gpt.eu.org/a/~test-md

POST /

上传您的粘贴。接受表单数据中的参数:

POST 方法默认返回 JSON 字符串,如果没有错误发生,例如:

{
    "url": "https://light-gpt.eu.org/abcd",
    "admin": "https://light-gpt.eu.org/abcd:w2eHqyZGc@CQzWLN=BiJiQxZ",
    "expire": 100,
    "isPrivate": false
}

字段解释:

如果发生错误,工作程序将返回不同于 200 的状态码:

使用示例:

$ curl -Fc="kawaii" -Fe=300 -Fn=hitagi https://light-gpt.eu.org  # 上传一些文本
{
  "url": "https://light-gpt.eu.org/~hitagi",
  "admin": "https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv",
  "isPrivate": false,
  "expire": 300
}

$ curl -Fc=@panty.jpg -Fn=panty -Fs=12345678 https://light-gpt.eu.org   # 上传文件
{
  "url": "https://light-gpt.eu.org/~panty",
  "admin": "https://light-gpt.eu.org/~panty:12345678",
  "isPrivate": false
}

# 由于 `curl` 将一些字符视为字段分隔符,如果字段包含分号或逗号,则字段应用双引号引起来
$ curl -Fc=@panty.jpg -Fn='"hi/hello;g,ood"' -Fs=12345678 https://light-gpt.eu.org
{
  "url": "https://light-gpt.eu.org/~hi/hello;g,ood",
  "admin": "https://light-gpt.eu.org/~hi/hello;g,ood:QJhMKh5WR6z36QRAAn5Q5GZh",
  "isPrivate": false
}

PUT /<name>:<passwd>

更新名称为 <name> 且密码为 <passwd> 的粘贴。接受表单数据中的参数:

PUT 方法的返回与 POST 方法相同。

如果发生错误,工作程序将返回不同于 200 的状态码:

使用示例:

$ curl -X PUT -Fc="kawaii~" -Fe=500 https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv
{
  "url": "https://light-gpt.eu.org/~hitagi",
  "admin": "https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv",
  "isPrivate": false,
  "expire": 500
}

$ curl -X PUT -Fc="kawaii~" https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv
{
  "url": "https://light-gpt.eu.org/~hitagi",
  "admin": "https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv",
  "isPrivate": false
}

DELETE /<name>:<passwd>

删除名称为 <name> 且密码为 <passwd> 的粘贴。删除可能需要几秒钟才能在全球同步。

如果发生错误,工作程序将返回不同于 200 的状态码:

使用示例:

$ curl -X DELETE https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv
the paste will be deleted in seconds

$ curl https://light-gpt.eu.org/~hitagi
not found