Skip to content

HTTP Server Action

Actions
GitHub Action to start a http server that serves files
v1.0.12
Latest
By Eun
Star (12)

http-server-action


An action that spawns an http server to serve files.

Inputs

directory

Path that should be served (default is .) (optional)

port

Port that should be used (default is 8080) (optional)

no-cache

No-Cache determiantes wheter the server sets the Cache-Control header or not (default is false) (optional)

index-files

If set and directory is requested, look for those files, instead of show directory listing (default is EMPTY, sample is ["index.html", "index.htm"]) (optional)

allowed-methods

Throw HTTP-Error 405 on other methods than the methods given (default is ["GET", "HEAD"]) (optional)

content-types

A JSON object of content-types that should be served (optional) Default:

{
  "appcache": "text/cache-manifest",
  "css": "text/css",
  "gif": "image/gif",
  "html": "text/html",
  "ico": "image/x-icon",
  "jpeg": "image/jpeg",
  "jpg": "image/jpeg",
  "js": "text/javascript",
  "json": "application/json",
  "png": "image/png",
  "txt": "text/plain",
  "xml": "text/xml"
}

log

Create a log file with the given name (default is ``, which means no logging) (optional)

logTime

Include the time of access in the log file (default is true) (optional)

custom404Page

Path of the custom 404 page shown is the requested page is not found

Example

steps:
  -
    name: Checkout code
    uses: actions/checkout@v4
  -
    name: Serve Files
    uses: Eun/http-server-action@v1
    with:
      directory: ${{ github.workspace }}
      port: 8080
      no-cache: false
      index-files: |
        ["index.html", "index.htm"]
      allowed-methods: |
        ["GET", "HEAD"]
      content-types: |
        {
          "appcache": "text/cache-manifest",
          "css": "text/css",
          "gif": "image/gif",
          "html": "text/html",
          "ico": "image/x-icon",
          "jpeg": "image/jpeg",
          "jpg": "image/jpeg",
          "js": "text/javascript",
          "json": "application/json",
          "png": "image/png",
          "txt": "text/plain",
          "xml": "text/xml"
        }
      log: "log.txt"
      logTime: "false"
      custom404Page: "/404.html"
  -
    run: |
      curl -vvvv http://localhost:8080/index.html
      cat log.txt

HTTP Server Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

GitHub Action to start a http server that serves files
v1.0.12
Latest
By Eun

HTTP Server Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.