Scala Python Java Other
Clone or download
cacoco and jenkins finatra-http: Rename default HTTP port value variable
Problem

It was not originally possible to name this default correctly
as the TwitterServer `AdminHttpServer` defined an incorrectly
named default for the `admin.port` flag. That was renamed
which allows for renaming of the `http.port` default in
`c.t.finatra.http.BaseHttpServer`.

Solution

Rename `defaultFinatraHttpPort` to `defaultHttpPort` which follows
the pattern of "default" + flag name.

TBR=true

Differential Revision: https://phabricator.twitter.biz/D193578
Latest commit 6fe4a3b Jul 19, 2018
Permalink
Failed to load latest commit information.
.github Twitter OSS: Add ISSUE_TEMPLATE Jul 7, 2016
benchmarks remove Procedure syntax using scalafix on the remaining Source scala … Jun 22, 2018
doc finatra-http: Rename default HTTP port value variable Jul 19, 2018
examples finatra: removing stale pants globs Jul 11, 2018
http finatra-http: Rename default HTTP port value variable Jul 19, 2018
httpclient remove Procedure syntax using scalafix on the remaining Source scala … Jun 22, 2018
inject-thrift-client-http-mapper finatra: removing stale pants globs Jul 11, 2018
inject scrooge: Add ability to construct thrift services from map of ThriftM… Jul 18, 2018
jackson remove Procedure syntax using scalafix on the remaining Source scala … Jun 22, 2018
project Twitter-oss: update OSS libraries post-release to 18.8.0-SNAPSHOT Jul 10, 2018
thrift scrooge: Add ability to construct thrift services from map of ThriftM… Jul 18, 2018
utils finatra-utils: Remove deprecated `c.t.f.utils.Handler` Jul 16, 2018
.gitignore finatra: Add OSS documentation Nov 7, 2016
.travis.yml finatra: Revert TravisCI configuration changes Jun 18, 2018
ADOPTERS.md Add Fitbit to ADOPTERS.md Apr 6, 2017
CHANGELOG.md finatra-http: Rename default HTTP port value variable Jul 19, 2018
CONTRIBUTING.md finatra: Update building section of READMEs Feb 5, 2018
LICENSE Add and update files for open-repository Apr 29, 2015
README.md Twitter-oss: update OSS libraries post-release to 18.8.0-SNAPSHOT Jul 10, 2018
build.sbt finatra: Exclude commons-logging in sbt build Jul 16, 2018
finatra_logo.png Added transparent logo and updated README.md May 14, 2015
finatra_logo_text.png finatra - Update logo image Aug 17, 2016
pushsite.bash csl: Updated pushsites scripts for sbt 1.0.x Nov 10, 2017
sbt Upgrade sbt to 1.1.4 Apr 26, 2018

README.md

Finatra

Build Status Test Coverage Project status Maven Central Gitter

Status

This project is used in production at Twitter (and many other organizations), and is being actively developed and maintained.

Finatra Logo

Finatra is a lightweight framework for building fast, testable, scala applications on top of TwitterServer and Finagle. Finatra provides an easy-to-use API for creating and testing Finagle servers and apps as well as powerful JSON support, modern logging via SLF4J, Finagle client utilities, and more.

Getting involved

Features

Documentation

To get started, see the Getting Started section of our User Guide to get up and running. Or check out the specific sections for building HTTP or Thrift servers.

Examples

An HTTP controller and server:

import com.twitter.finatra.http._

@Singleton
class ExampleController extends Controller {
  get("/") { request: Request =>
    "<h1>Hello, world!</h1>"
  }
}
import com.twitter.finatra.http._

class ExampleServer extends HttpServer {
  override def configureHttp(router: HttpRouter): Unit = {
    router
      .filter[CommonFilters]
      .add[ExampleController]
  }
}

A Thrift controller and server:

import com.twitter.finatra.thrift._

@Singleton
class ExampleThriftController 
  extends Controller
  with MyThriftService.BaseServiceIface {
  
  override val myFunction = handle(MyFunction) { args: MyFunction.Args =>
    ...
  }
}
import com.twitter.finatra.thrift._

class ExampleServer extends ThriftServer {
  override def configureThrift(router: ThriftRouter): Unit = {
    router
      .add[ExampleThriftController]
  }
}

Example Projects

Finatra includes working examples which highlight various features of the framework and include tests. These examples are included in the root sbt build and are thus buildable as part of the entire project.

Please take a look through the examples for more detailed information on features, testing, building, and running.

Latest version

The master branch in Github tracks the latest stable release, which is currently:

Maven Central

available on Maven Central. See the First Steps section in the User Guide for how to add dependencies.

Releases are done on an approximately monthly schedule. While semver is not followed, the changelogs are detailed and include sections on public API breaks and changes in runtime behavior.

Development version

The develop branch in Github tracks the latest code which is updated every week. If you want to contribute a patch or fix, please use this branch as the basis of your Pull Request.

For more information on providing contributions, please see our CONTRIBUTING.md documentation.

Presentations

Check out our list of presentations: Finatra Presentations.

Authors

A full list of contributors can be found on GitHub.

Follow @finatra on Twitter for updates.

License

Copyright 2013-2018 Twitter, Inc.

Licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0