Skip to content

An action that spawns an http server to serve files.

License

Notifications You must be signed in to change notification settings

tts-jwiebe/http-server-action

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 off) (optional)

logTime

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

Example

steps:
  -
    name: Checkout code
    uses: actions/checkout@v2
  -
    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"
  -
    run: |
      curl -vvvv http://localhost:8080/index.html
      cat log.txt

About

An action that spawns an http server to serve files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%